如何在没有ORM的情况下使用phalcon查询构建器

时间:2015-05-20 14:31:00

标签: php orm datamapper phalcon query-builder

大家好我想在没有ORM的情况下使用phalcon。我想用DataMapper模式分离业务逻辑和数据访问,我找不到如何在没有原始SQL的情况下构建查询,而是使用原始的phalcon queryBuilder。

有没有机会这样做?

3 个答案:

答案 0 :(得分:0)

这是你在找什么?

<?php

//Getting a whole set
$robots = $this->modelsManager->createBuilder()
    ->from('Robots')
    ->join('RobotsParts')
    ->orderBy('Robots.name')
    ->getQuery()
    ->execute();

//Getting the first row
$robots = $this->modelsManager->createBuilder()
    ->from('Robots')
    ->join('RobotsParts')
    ->orderBy('Robots.name')
    ->getQuery()
    ->getSingleResult();

来自Phalcon docs:Phalcon Query Language (PHQL)

答案 1 :(得分:0)

我想出了怎么做 我使用phalcon和doctrine DBAL 它对我很有用

答案 2 :(得分:0)

如果我没记错的话,我发现了两种解决方法。

解决方案1#

use Phalcon\Mvc\Model\Query\Builder; 

$result = $this->modelsManager->createBuilder()
  ->columns("table1.f1, table1.f2,table2.f3,table2.f4")
  ->From('table1')
  ->innerjoin('table2', 'table1.matchfield = table2.matchfield')
  ->where("table1.fieldname = '$value' ")
  ->getQuery()
  ->execute(); 

解决方案2#

 $res = $this->db->execute("UPDATE Tablename SET field1= ?,field2=?,field3=? WHERE id = ?",array($field1,$field2,$field3,$id));