Phalcon加入模型错误

时间:2014-03-27 10:09:46

标签: php model phalcon

如果我们想使用Phalcon中的查询构建器将多个表连接到单个查询中。它要求为所有需要连接的表创建模型。

这是缺点还是优势?

$m = Firstmodel::query()
    ->columns("col1, col2")

    ->where("col3 = '2'")

    ->join("model2", "col1 = col5", 'a')
    ->join("model3", "col6 = col7", 'b')

    ->orderBy("col1")
    ->execute();

使用一个连接查询,它可以完美运行。但是如上所述有2个连接查询会出现以下错误:

Scanning error before '] JOIN [] JOIN [...' 
when parsing: SELECT col1, col2 FROM [Firstmodel] 
JOIN [model2] AS [a] ON col1 = col5 
JOIN [] JOIN [] JOIN [] JOIN [] WHERE col3 = '2' ORDER BY col1 (180)

是否有另一种方法可以在不创建模型的情况下连接表格?

1 个答案:

答案 0 :(得分:2)

您必须显示col1 col5等来自哪个型号。尝试通过此示例重写您的查询:

$builder->from('Robots')
    ->join('RobotsParts', 'Robots.id = RobotsParts.robots_id', 'p')
    ->join('Parts', 'Parts.id = RobotsParts.parts_id', 't');