2012-02-28 11 views
1

cakePHPの検索でorderByについてただ1つの質問。私はお互いに関連した3つのモデルを持っているとしましょう。私の3つのモデルのいずれかでfind('all') cakePHPクエリを実行すると、他の2つのモデルのデータも含まれた結果が得られます。私の3つのモデルが一緒にリンクされているので、私はこのような何かを得るでしょう、cakephp関連の他のモデルフィールドで注文

1- User 
2- School 
3- Country 

私はUsersController$this->find('all')を行う場合:たとえば、のは私のモデルがあるとしましょう

Array 
(
    [0] => Array 
     (
       [User] => Array 
        (
          [id] => 'the_auto_incrementing_id' 
          // other table columns 
          [created] 'creation_date' 
          [modified] 'modification_date' 
        ) 
       [School] => Array 
        (
          [id] => 'the_auto_incrementing_id' 
          // other table columns 
          [created] 'creation_date' 
          [modified] 'modification_date' 
        ) 
       [Country] => Array 
        (
          [id] => 'the_auto_incrementing_id' 
          // other table columns 
          [created] 'creation_date' 
          [modified] 'modification_date' 
        ) 
     ) 
) 

私の質問はいるが、これですfind('all')クエリがUserモデルで開始されました。orderBycreatedフィールドのモデルをたとえばSchoolとしましょうか?

それがすべて

あなたはユーザーからのすべての関連データを取得しようとしている場合は、あなたの学校を

答えて

0

をありがとう、そして国が、ソートSchool.createdによって(あなたの例ごとに可能だ場合は私に知らせてください)、あなたはちょうど学校モデルからクエリを実行することができます。

私はあなたのユーザーのコントローラにいると仮定 - もしそうなら、それはちょうどこのことだ:

$myData = $this->User->School->find('all', array('order'=>'School.created DESC')); 

(それがリンクされていることから、学校のモデルをロードする必要はありません、 - ので、あなただけの参照してください。ユーザーモデルを介して)

関連する問題