3
'driverNegotiation' => array(self::HAS_MANY, 'DriverNegotiation', 'driver_id')

negotiationsこれにより、オブジェクトの配列が生成されDriverます。配列にはゼロからインデックスが付けられます。配列キーとして使用される値を設定する方法はありteam_idますDriverNegotiationか?

4

1 に答える 1

3

「配列キーとして使用する値を設定する」とはどういう意味か完全にはわかりません。DriverNegotiationただし、数値ではなく、テーブル値の1つによってインデックス付けされたdriverNegotiationリレーションから配列を取得する場合はindex、リレーションにパラメーターを追加できます。

'driverNegotiation' => array(self::HAS_MANY, 'DriverNegotiation', 'driver_id', 'index'=>'team_id')

team_idが衝突する場合は常に、1つの結果しか得られないことに注意してください。これは、groupbyを実行するのとほぼ同じです。

更新
リレーションからのプルダウンについてのあなたのコメントによると、それは私が今までにしたことではありませんが、実行可能かもしれません。'together'=>true私の推測では、を使用して関係をまとめてプルダウンし、 :withを指定します。index

'index'=>'`baseNegotiation`.`team_id`'

それでもうまくいかない場合は、次にどこに行けばいいのかわからず、すぐにテストできませんが、開発者はそこでの対応に優れているので、Yiiフォーラムにも試してみます。

于 2012-12-31T09:41:22.277 に答える