'driverNegotiation' => array(self::HAS_MANY, 'DriverNegotiation', 'driver_id')
这会为我的negotiations
对象生成一个Driver
数组。数组从零开始索引。有没有办法设置用作数组键的值,让我们说team_id
可以找到DriverNegotiation
?
答案 0 :(得分:3)
我不完全确定你的意思是“设置用作数组键的值”。但是,如果您的意思是从其中一个DriverNegotiation
表值索引的driverNegotiation关系中获取一个数组,而不是数字,则可以将index
参数添加到关系中:
'driverNegotiation' => array(self::HAS_MANY, 'DriverNegotiation', 'driver_id', 'index'=>'team_id')
请注意,无论team_id发生冲突,你只能得到一个结果,这几乎等同于做一个小组。
<强>更新强>
根据你关于从关系中拉下来的评论,这不是我做过的事情,但它可能是可行的。我的猜测是,使用'together'=>true
上的with
将关系拉下来,然后指定index
:
'index'=>'`baseNegotiation`.`team_id`'
如果这不起作用,我不知道下一步该怎么做,不能在那一刻进行测试,但我也会尝试使用Yii论坛,因为开发人员非常擅长在那里做出回应。