[英]Query builder with select
我正在嘗試從聯接結果中選擇一些列。 查詢是:
$queryBuilder = new \Phalcon\Mvc\Model\Query\Builder();
$queryBuilder->columns(array('L.*', 'S.build_id'));
$queryBuilder->addFrom('Gadwin\Models\Licenses', 'L');
$queryBuilder->join('Gadwin\Models\Serials', 'S.id = L.serial_id', 'S');
$resultset = $queryBuilder->getQuery()->execute();
如果我刪除了columns方法,該查詢將起作用並返回一個Licenses集合。 但是,如果我設置columns方法,則會返回一個空數組。
有任何想法嗎 ?
而不是查詢生成器,請嘗試在phalcon中使用原始sql 。
在模型中創建一種方法。
public function myRawSql()
{
$query = "SELECT * FROM your_table WHERE some_condition";
$modelObj = new ModelName(); // Create object of your model
return $modelObj->getReadConnection()->query($query)->fetchAll();
}
我看到您要求從2個表中得出結果。 在這種情況下,Phalcon將返回ComplexResultSet,而不是ResultSet。 在$ resultset上嘗試get_class,如果它是ComplexResultSet,則可以對其進行迭代以訪問其行。 應該是這樣的:
----------------------------------
| Licence (object) | s.id (int ) |
----------------------------------
| Licence (object) | s.id (int ) |
----------------------------------
通常,還嘗試使用調試工具(例如Kint)檢查變量。 這可能會很有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.