[英]ZF2 - Select with CONCAT
我正在嘗試這樣選擇:
SELECT
c
。*,CONCAT(c.provider_id,'#',c.name“)來自contact
ASc
所以,我正在寫這樣的東西...
$sql = new Sql($this->adapter);
$query = $sql->select()
->from(array('c' => 'contact'))
->columns(array("CONCAT(c.provider_id,'#',c.name"), false)
但是,結果是:
選擇
c``CONCAT(c.provider_id,'#',c.name
ASCONCAT(c.provider_id,'#',c.name
FROMcontact
ASc
我究竟做錯了什么? 謝謝你的幫助!
當我必須從表中提取一些列並添加Sql函數時,我通常使用以下代碼:
$sql = new Sql($this->adapter);
$query = $sql->select()
->from(array('c' => 'contact'))
->columns(array(
'id', 'name', 'data' => new Expression('CONCAT(c.provider_id,'#',c.name)')
)
);
Expression
是Zend\\Db\\Sql\\Expression
一個實例,結果是:
SELECT `id`, `name`, CONCAT(c.provider_id,'#',c.name) AS `data` FROM `contact` AS `c`
如果您需要使用MySQL函數或不想自動為您轉義的其他函數,請查看數據庫表達式。 一些例子:
https://github.com/ralphschindler/Zend_Db-Examples
$sql = new Sql($this->adapter);
$query = $sql->select()
->from(array('c' => 'contact'))
->columns(array(
'*', new Expression("CONCAT(c.provider_id,'#',c.name) as data")
))
;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.