'driverNegotiation' => array(self::HAS_MANY, 'DriverNegotiation', 'driver_id')
negotiations
这会为我的Driver
对象生成一个数组。数组从零开始索引。有没有办法设置用作数组键的值,假设team_id
可以从中找到DriverNegotiation
?
我不完全确定“设置用作数组键的值”是什么意思。但是,如果您的意思是从由表值之一索引的 driverNegotiation 关系返回一个数组DriverNegotiation
,而不是数字索引,那么您可以将index
参数添加到关系中:
'driverNegotiation' => array(self::HAS_MANY, 'DriverNegotiation', 'driver_id', 'index'=>'team_id')
请注意,无论何时 team_id 发生冲突,您只会得到一个结果,这几乎相当于进行 group by。
更新
根据您关于从关系中拉下来的评论,这不是我曾经做过的事情,但它可能是可行的。'together'=>true
我的猜测是,使用on 将关系拉到一起with
,然后指定一个index
:
'index'=>'`baseNegotiation`.`team_id`'
如果这不起作用,我不确定下一步该去哪里,也无法立即进行测试,但我也会尝试在 Yii 论坛上进行尝试,因为那里的开发人员非常擅长回应。