0

Cakephp2を使用します。

私は瞳孔と呼ばれるモデルを持っています

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

$belongsTo = array('FormClass')

私のPupilsControllerで私は焼きました

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

結果の関連データ、具体的には$ hasMany = array('PupilAction'、'TransientAction'、'TriageEvent')要素を、dateという名前の各テーブルのフィールドごとに並べ替えたいと思います。また、すべての情報を含めたいのですが、これら3つのテーブルを日付順に並べるために、フィールドが返されるのを制限したくありません。

read()の使用方法の良い例を見つけることができません-ほとんどの人はfindを使用しているようですが、このreadを理解したいと思います。

誰かが親切に私を教えてくれますか?

4

1 に答える 1

2

そのデータを常に日付順に並べる必要がある場合は、各モデルのPHPファイルに$ order変数を追加します。

public $ order='日付';

また

public $ order ='PupilAction.date ASC';

これにより、これらのモデルは、デフォルトで、関連付け、ページ付け、および検索の順序付けられた結果を返すようになります。

それ以外の場合は、包含可能な動作に注文キーを使用できます。各モデル(またはAppModel.php)の$actAsにContainable動作を追加してください

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