1

いろいろ調べましたが、どうしようもないです。モデル内の hasMany アソシエーションでセッション変数を条件として使用しようとしています。このように(モデル内)

public $hasMany = array(
'myClassname' => array(
'className'     => 'myClassname',
'foreignKey'    => 'foreignid'
'conditions'    => array('myClassname.id' => <this should be the value of the sessionvariable>),
)
);

誰か私にクルをくれませんか?ありがとうございました

4

2 に答える 2

1

次の条件をコントローラーの検索条件の直前に配置します。

$this->ModelName->bindModel(array('hasMany' => array('myClassname' => array('className' => 'myClassname',
                                                                            'foreignKey' => 'foreignid',
                                                                            'conditions'    => array('myClassname.id' => $this->Session->read('SessionVar'))
                                            ))), false);

beforeFind() コールバックでこの動的関連シップを使用することもできます。

于 2013-07-15T04:37:29.750 に答える
0

これが「クル」です:)

$hasManyは配列であるため、「動的な」値を持つことはできません。これは、コードによって変化する値です。

それ以外の方法で実行できない場合 (検索で適切なを使用するなど)、コールバックを使用して現在のセッション ID を設定conditionsする必要があります。Model::beforeFind()

于 2013-07-14T21:47:13.863 に答える