无法使用PhalconPHP的createBuilder在多个表上保持连接?

时间:2013-05-24 21:49:30

标签: phalcon

也许我在这里做错了,但是在使用createBuilder()时我无法加入多个表。这是一个示例查询。

$test = $this->modelsManager->createBuilder()
        ->from('TABLE1')
        ->leftJoin('TABLE2', 'TABLE1.id = TABLE2.table_one_id')
        ->leftJoin'TABLE3', 'TABLE3.id = TABLE2.table_three_id')
        ->where('TABLE1.id = :id:', array('id' => $id))
        ->groupBy(array('TABLE1.id'))
        ->getQuery()
        ->execute();

有错误表明框架可能没有正确生成SQL查询,但我很可能做错了。在额外的LEFT加入之前似乎没有添加空格。

  

'on clause''

中的未知列'TABLE2.table_one_idLEFT'

非常感谢任何见解。

1 个答案:

答案 0 :(得分:2)

您需要在首次加入条件结束时添加空格:

$test = $this->modelsManager->createBuilder()
        ->from('TABLE1')
        ->leftJoin('TABLE2', 'TABLE1.id = TABLE2.table_one_id ')
        ->leftJoin('TABLE3', 'TABLE3.id = TABLE2.table_three_id')
        ->where('TABLE1.id = :id:', array('id' => $id))
        ->groupBy(array('TABLE1.id'))
        ->getQuery()
        ->execute();