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

negotiations这会为我的Driver对象生成一个数组。数组从零开始索引。有没有办法设置用作数组键的值,假设team_id可以从中找到DriverNegotiation

4

1 回答 1

3

我不完全确定“设置用作数组键的值”是什么意思。但是,如果您的意思是从由表值之一索引的 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 论坛上进行尝试,因为那里的开发人员非常擅长回应。

于 2012-12-31T09:41:22.277 回答