2011-02-08 6 views
0

検索はいくつか行っていますが、十分な関連性は見つかりません。私が持っている:私は、現在のユーザーから-and paginate-すべてのジョブを取得する必要がありますようCakePHPページング結果は、HABTMにリンクされた別のテーブルの条件となります

Jobs <--> HABTM (Users_jobs table) <--> Users 

私は、User.id上の条件と私のJobコントローラからpaginate()をやりたいです。あなたが別のトピック/サイトへのリンクを提供した場合は

、それとの説明を提供してください、どのようにあなたが私の場合にそれを適用します。

乾杯、
Nicolas。

+0

あなたがやるとまた結果セットが含まれている必要がありますフィールドかを説明したい条件を記述することができます私は私の質問にやったまさに – OldWest

+0

:? 'User.id'フィールド上の条件と結果は 'ジョブ'配列です。乾杯。 – Nicolas

+0

誰も私の問題について何か提案はありませんか? – Nicolas

答えて

1

cake bakeが(参照jobs_usersではなくusers_jobsの結合テーブルを期待するあなたのHABTMの関連付けが正しく設定されていることを確認してください:彼らはしている場合、Cakephp-HABTMを)あなたが説明したレイアウトに一致するようにUsersJobに以下の例ではJobsUserへの参照を変更。

//In an action in jobs_controller.php 

//Fake a HasOne association to the JobsUser model, setting $reset to false 
$this->Job->bindModel(array(
    'hasOne' => array(
     'JobsUser' 
    ) 
), false); 

//Setup the paginate conditions, grouping on job.id 
//Set $user_id to the user to filter results by (can also be an array of users) 
$options = array(
    'group' => 'Job.id', 
    'conditions' => array(
     'JobsUser.user.id' => $user_id 
    ) 
); 
$this->paginate = $options; 
$users = $this->paginate();