Привет всем, я пытаюсь использовать phalcon без ORM. Я хочу разделить бизнес-логику и доступ к данным с помощью шаблона 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();
Из документов Phalcon: Язык запросов Phalcon (PHQL)
Я разобрался как это сделать
Я использую phalcon с доктриной DBAL
это прекрасно работает для меня
Я нашел 2 способа решить это, если я не ошибаюсь.
Решение 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));