我有表格:司机、司机谈判、基地谈判和团队
在 DriverController 模型中,我想获取驱动程序正在与之协商的 team_id(位于 base_negotiation 中)。
在驱动程序模型中,我有:
'driverNegotiation' => array(self::HAS_ONE, 'DriverNegotiation', 'driver_id')
在 DriverNegotiation 中:
'baseNegotiation' => array(self::BELONGS_TO, 'BaseNegotiation', 'base_negotiation_id')
在 DriverController 我正在构建类似的东西:
$criteria=new CDbCriteria(array(
'condition' => 'baseNegotiation.team_id=13',
'with' => 'driverNegotiation',
'together' => true,
));
但我得到:
Column not found: 1054 Unknown column 'baseNegotiation.team_id' in 'where clause'.
The SQL statement executed was: SELECT COUNT(DISTINCT `t`.`id`) FROM `driver` `t`
LEFT OUTER JOIN `driver_negotiation` `driverNegotiation` ON
(`driverNegotiation`.`driver_id`=`t`.`id`) WHERE (baseNegotiation.team_id=13)
因此,我可以从 driver_nagotiation 表中获取所有内容,但不能从一张表中获取任何内容。
我需要使用 join 来获得正确的东西还是有更好的方法?