2011-06-21 10 views
0

私は労働者と会社の間に1対1の関係を持っています。 私のWorkerModel:cakephp one to manyを読む

var $ belongsTo = 'ファーム';私FirmModelで

変数$ hasManyの= '労働者';

私のFirmControllerには、関数フィード(id = null)があります。

ます:http:私はこのように、この事務所に所属するすべての労働者のイベントを表示する(...)/企業/カレンダー/ 1

私が得た:

機能をフィード($ id = NULL){

$ firm = $ this-> Firm-> read(NULL、$ id);

$ workers = 'firmer';

$ conditions = array( 'Event.worker_id' => $ workers ['0'] ['id']);

$ events = $ this-> Event-> find( 'all'、array( 'conditions' => $ conditions));

これはうまくいきますが、$ workers varに最初のワーカーが接続しているすべてのイベントを表示します。 会社に所属するすべてのワーカーに関連するすべてのイベントを設定するためにこのクエリを書き込む方法は?

答えて

0

関係を適切に設定しましたか?イベントは従業員に属しますか?あなたの読書の直前に$this->Firm->recursive = 2の設定を見て、関係が正しく設定されていればそれを取り出すべきです。

Containable behaviourもご覧ください。