更改HAS_MANY关系生成的数组

时间:2012-12-31 09:26:30

标签: php yii

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

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

1 个答案:

答案 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论坛,因为开发人员非常擅长在那里做出回应。