【问题标题】:Phalcon: How can i execute my Inner join statement with query builderPhalcon:如何使用查询生成器执行我的内部联接语句
【发布时间】:2015-12-19 12:50:05
【问题描述】:

如何在 phalcon 框架中使用“查询生成器”执行此语句并获取结果:

SELECT Table2.Id 
FROM Table2 INNER Table1 
WHERE Table1.Id = 1 
AND Table2.Name = "Shahin" 
AND Table1.Max > Table2.Count;

Tables

【问题讨论】:

  • 我认为做原生 SQL 查询更容易。你可以证明我错了;-)

标签: phalcon


【解决方案1】:

回答有点晚,但希望它对其他人有所帮助。 Phalcon 提供了一个很棒的查询构建器功能。你可以在这里阅读更多:https://docs.phalconphp.com/en/latest/api/Phalcon_Mvc_Model_Query_Builder.html

这里是示例连接查询:

$result = $this->modelsManager->createBuilder()
   ->columns(array('main.*', 'locations.*'))
   ->from(array('main' => 'Models\Objects'))
   ->leftJoin('Models\ObjectLocations', 'locations.foreign_key = main.id', 'locations')
   ->where('main.active = 1')
   ->getQuery()->execute();

如果查询成功并且您从表中选择了所有字段 (*),这将返回两个对象:

$result->main
$result->locations

好消息是这些对象允许您使用所有模型方法。例如

$result->locations->getDistanceBlabla()

【讨论】:

    猜你喜欢
    • 2017-05-21
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 2020-02-11
    • 2016-10-03
    • 2014-10-05
    相关资源
    最近更新 更多