0
出力が以下のようなIve a HABTMの関係では、cakephpには "friend.id"と "friend.company_name"という名前の "list" 「ユーザー」を除外します。HABTM find、結果をフィルタリングする方法
Iveはこれを行う方法を研究していましたが、それを動作させることはできませんでした。
ユーザーのコントローラーの「検索方法」。私は収容可能な行動を使用する必要があると思うが、何をすべきかわからない。 "友人"の結果を得るために管理されたiveは2つのフィールドのみを表示しますが、私は "ユーザー"の結果を取り除く必要があります。私はこれをどのようにして行うのですか?
この関係は、ユーザーモデルファイルと同様に定義されます。
var $hasAndBelongsToMany = array(
'Friend' => array(
'joinTable' => 'retailerrelationships',
'className' => 'User',
'foreignKey' => 'retailer_id',
'associationForeignKey' => 'supplier_id'
)
);
ユーザーコントローラにおけるユーザーの行動:
$this->User->Behaviors->attach('Containable');
$users=$this->User->find('all',array('conditions'=>array('User.id'=>$this->Auth->user('id')),'contain'=>array('Friend.id','Friend.company_name')));
$this->set('users' ,$users);
デバッグ出力
Array
(
[0] => Array
(
[User] => Array
(
[id] => 104
[username] => admin
)
[Friend] => Array
(
[0] => Array
(
[id] => 107
[company_name] => carskitchens
[Retailerrelationship] => Array
(
[id] => 12
[retailer_id] => 104
[supplier_id] => 107
[created] => 2012-03-28 10:14:23
[modified] => 2012-03-28 10:14:23
)
)
[1] => Array
(
[id] => 112
[company_name] => mr manufacturer
[Retailerrelationship] => Array
(
[id] => 13
[retailer_id] => 104
[supplier_id] => 112
[created] => 2012-03-28 11:26:52
[modified] => 2012-03-28 11:26:52
)
)
)
)
)
をお試しください:( –
あなたは、より詳細に入ることはできますか?まず、私が代わりに '$のusers'のVARの' $のresults'を使用していました。また、あなたは割り当てる必要がありますそれは '$ options = Set :: combine ...'など出力をデバッグしましたか? – jeremyharris
実際にあなたは私の悪いところでした。 –