簡體   English   中英

ZF2-使用CONCAT選擇

[英]ZF2 - Select with CONCAT

我正在嘗試這樣選擇:

SELECT c 。*,CONCAT(c.provider_id,'#',c.name“)來自contact AS c

所以,我正在寫這樣的東西...

$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 AS CONCAT(c.provider_id,'#',c.name FROM contact AS c

我究竟做錯了什么? 謝謝你的幫助!

當我必須從表中提取一些列並添加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)')
    )
);

ExpressionZend\\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.

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