大家好,我正在尝试使用没有ORM的phalcon。我想用DataMapper模式分离业务逻辑和数据访问,我找不到如何在没有原始SQL的情况下构建查询,而是使用原始的phalcon queryBuilder。
有机会吗?
这是你要找的吗?
<?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();
From Phalcon docs: Phalcon Query Language (PHQL)
我知道怎么做了我用的是phalcon和doctrine DBAL
如果我没记错的话,我找到了两种方法来解决这个问题。
解决方案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));