簡體   English   中英

如何在沒有ORM的情況下使用Phalcon查詢生成器

[英]How to use phalcon query builder without ORM

大家好,我正嘗試在不使用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();

來自Phalcon docs: Phalcon查詢語言(PHQL)

我想出了如何做的方法我正在將phalcon與doctrine 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));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM