在我的模型“mesn”中,我有属于关系:
public $belongsTo = array(
'Order' => array(
'className' => 'Order', 'foreignKey' => 'order_id', 'conditions' => '', 'fields' => '', 'order' => ''
), 'SaleOrder' => array(
'className' => 'SaleOrder', 'foreignKey' => 'sale_order_id', 'conditions' => '', 'fields' => '',
'order' => ''
), 'ShippedBox' => array(
'className' => 'Box', 'foreignKey' => 'shipped_box_id', 'conditions' => '', 'fields' => '',
'order' => ''
)
); /* * * hasMany associations** @var array
在我的一个模型函数中,我想在“belongsto”“ShippedBox”(表:盒子)上加入另一个表。但无论我如何尝试编写连接,我都会收到未知列的错误消息:
$arr_s_result = $this->find('all', array(
'joins' => array(
array('table' => 'shipments',
'alias' => 'MyShipments',
'type' => 'INNER',
'conditions' => array(
'MyShipments.id = ShippedBox.shipment_id'
)
)),
'conditions' => array('Mesn.name' => $arr_search), 'recursive' => 0
));
我已经尝试过:
'MyShipments.id = ShippedBox.shipment_id'
和
'MyShipments.id = box.shipment_id'
甚至
'MyShipments.id = Boxes.shipment_id'
其中存在包含字段“shipment_id”的表“boxes”。
我怎样才能让这个连接工作?
最佳答案
'MyShipments.id = box.shipment_id'
至:
'MyShipments.id = Box.shipment_id'
还有这个呢:
$arr_s_result = $this->find('all', array(
'conditions' => array('Mesn.name' => $arr_search), 'recursive' => 0
));
belongsTo 加入是自动完成的。
关于mysql - CakePHP 2.x : Join on belongsto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21634332/