我正在使用cakephp 2框架。
我有一个具有"有很多"关系的模型"主题":
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'
有什么想法吗?谢谢
好的,现在我正在为我展示工作代码,也许它可以帮助你
$this->Topic->find('all');
$this->paginate = array(
//'conditions' => array('id !=' => '6'),
'limit' => 6,
'order' => array('Topic.modified' => 'desc')
);
$data = $this->paginate('Topic');
就我而言,我的topics
表中有模型Topic
,字段modified
最后,我在主题表"last_message_date"中添加一列
$this->paginate = array(
'Topic' => array(
'limit' => 10,
'recursive' => 2,
'order'=>array('last_message_date'=>'desc')
)
);
不是一个真正的正确解决方案,但我不知道