我正在使用cakephp 2框架。
我有一个带有“hasmany”关系的模型“主题”:
public $hasMany=array(
'Messages' => array(
'className' => 'Messages',
'foreignKey'=>'id_topic',
'dependent'=>true,
),
);
在我的控制器中,我做了:
$this->paginate = array(
'Topic' => array(
'limit' => 10,
'recursive' => 2,
)
);
$entities = $this->paginate('Topic');
它运作完美但现在我想按照最后一条消息的日期对主题进行排序,但我找不到。
类似的东西:
$this->paginate = array(
'Topic' => array(
'limit' => 10,
'recursive' => 2,
'order'=>'Messages.created desc'
)
);
但我得到Column not found: 1054 Unknown column 'Messages.created' in 'order clause'
有什么想法吗?感谢
答案 0 :(得分:0)
好的,现在我正在为我展示工作代码,可能它可以帮助你
$this->Topic->find('all');
$this->paginate = array(
//'conditions' => array('id !=' => '6'),
'limit' => 6,
'order' => array('Topic.modified' => 'desc')
);
$data = $this->paginate('Topic');
就我而言,我的Topic
表格中有模型modified
,字段topics
答案 1 :(得分:0)
最后,我在主题表“last_message_date”
中添加了一列$this->paginate = array(
'Topic' => array(
'limit' => 10,
'recursive' => 2,
'order'=>array('last_message_date'=>'desc')
)
);
不是真正合适的解决方案,但我不知道