无法在CakePHP的内部联接中获取第二个表值

时间:2016-05-11 08:07:28

标签: php mysql cakephp cakephp-1.3

我在CakePHP框架中工作。我想加入两张桌子。所以我写了如下的查询。

$details=$this->Deal->find('all',array('joins'=>array(
                          array(
                           'table'=>'merchants',
                           'alias'=>'Merchant',
                           'fields' => array('Merchant.username'),
                           'conditions' =>array('Merchant.id=Deal.merchant_id')
                          )
                        ),'conditions'=>array('Deal.id'=>$id)));
    echo "<pre>";
    print_r($details);

当我打印详细信息时,它只会提供交易表记录。在这里,我还想要 Merchant.username

那么我在上面的查询中需要更改什么?

注意: - 我正在使用CakePHP版本1.3.13

1 个答案:

答案 0 :(得分:1)

$details = $this->Deal->find('all', array('joins' => array(
        array(
            'table' => 'merchants',
            'alias' => 'Merchant',
            'conditions' => array('Merchant.id=Deal.merchant_id')
        )
    ), 'conditions' => array('Deal.id' => $id),
    'fields' => array('Merchant.username', 'Deal.*'),
        )
);
    echo "<pre>";
    print_r($details);