当我搜索一个“有很多”别的东西的模型。Cakephp,订购相关表
例如,博客文章有很多类别。
当搜索与相关类别相关的博客帖子时,如何订购关联的类别?当数组返回时,它会忽略类别模型上的顺序,并且默认为它的通常的id顺序。
干杯。
当我搜索一个“有很多”别的东西的模型。Cakephp,订购相关表
例如,博客文章有很多类别。
当搜索与相关类别相关的博客帖子时,如何订购关联的类别?当数组返回时,它会忽略类别模型上的顺序,并且默认为它的通常的id顺序。
干杯。
另外,你可以设置你的模型关系的顺序。
<?php
class Post extends AppModel {
var $hasMany = array(
'Category' => array(
'className' => 'Category',
...
'order' => 'Category.name DESC',
....
),
}?>
您可以指定find
方法参数的order
属性。否则,它将默认为最顶级/父级模型的订单。在你的情况下,Category.id
。
相关的模型下令对模型本身,你在哪里它添加它时,你获得相关的发现“有很多'在模型上? – Smickie 2010-06-27 18:30:26
发布您用于检索模型数据的代码或查看http://book.cakephp.org/view/1018/find。我相信你想设置'订单'参数。 – 2010-06-27 20:03:00
A有许多关系意味着2个单独的查询 - 当您在查找方法上设置订单属性时,您会收到错误,因为关联的模型未包含在原始查询中,因此'不存在'。 – 2017-06-22 16:41:44
您可以用ContainableBehavior做到这一点:
$this->Post->find('all', array('contain' => array(
'Category' => array(
'order' => 'Category.created DESC'
)
)));
http://book.cakephp.org/view/1325/Containing-deeper-associations
CakePHP中3,而不是使用“秩序”“排序”:
<?php
class Post extends AppModel {
var $hasMany = array(
'Category' => array(
'className' => 'Category',
...
'sort' => 'Category.name DESC',
....
),
}?>
非常感谢你! – Vicer 2012-03-14 05:45:35