mysql - CakePHP 2.x : Join on belongsto

标签 mysql cakephp join belongs-to

在我的模型“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/

相关文章:

php - cakePHP 返回重复记录

php - 生成用于 Web 服务身份验证的访问 token 的函数

python - 基于公共(public)头或尾连接列表

php - 从 CakePHP 中获取具有特定索引的 mysql 记录

cakephp - 如何使用composer 'Uninstall' 或 'Remove' 插件?

php - MySQL 将某些结果分组到一个数组中

sql - 使用 USING 关键字执行 JOIN 时,选择列表中不能有限定符

php - SQL查询以获得想要的结果

MYSQL:如何从表中提取以下数据?

java - 使用 SQLException 检查 Java 程序中是否存在 MySQL 表