0

使用 cakephp 2。

我有一个模型叫做学生

$hasMany = array('PupilAction', 'TransientAction', 'TriageEvent')

$belongsTo = array('FormClass')

在我的 PupilsController 中,我烤好了

$this->set('pupil', $this->Pupil->read(null, $id));  

我想通过每个名为 date. 我还想包含全部信息,我不想限制返回任何字段,只是为了让这三个表按日期排序。

我找不到一个很好的例子来说明如何使用 read() - 大多数人似乎都在使用 find 但我想弄清楚这个 read 一个。

任何人都可以启发我吗?

4

1 回答 1

2

如果您总是需要按日期排序的数据,那么在每个模型的 PHP 文件中添加 $ order 变量

公共 $order = '日期';

或者

公共 $order = 'PupilAction.date ASC';

这将确保这些模型默认返回关联、分页和查找的有序结果。

否则,您可以将 order 键用于可包含行为。确保将Containable行为添加到每个模型的 $actAs(或在您的 AppModel.php 中)

$record = $this->Pupil->find('first',array(
   'conditions'=>array('Pupil.id'=>$id),
   'contain'=>array('PupilAction'=>array('order'=>'PupilAction.date'))
));
于 2013-01-16T18:23:35.173 回答