我試圖返回一個mysql字段,該字段在返回給Cake之前已應用mysql REPLACE
函數。我實際上是試圖從字段中刪除文本,如果它匹配我的變量。cakephp在mysql字段列表中使用計算字段
理論上裏面找,我想:
'fields' => array('REPLACE(E.title, "'.$data['Make']['name'].'", "") AS E.title', ...)
我該怎麼辦呢?
感謝
我試圖返回一個mysql字段,該字段在返回給Cake之前已應用mysql REPLACE
函數。我實際上是試圖從字段中刪除文本,如果它匹配我的變量。cakephp在mysql字段列表中使用計算字段
理論上裏面找,我想:
'fields' => array('REPLACE(E.title, "'.$data['Make']['name'].'", "") AS E.title', ...)
我該怎麼辦呢?
感謝
嘗試使用使用Virtual Fields模型中的
class ModelName extends AppModel {
public $virtualFields = array(
"my_virtual_field_title" => "REPLACE(yourfield,'OLD STR','NEW STR')"
);
}
:
$your_query= $this->ModelName->find('first');
echo $your_query['ModelName']['my_virtual_field_title'];
,或者你可以直接設置virtualfields:
$this->ModelName->virtualFields['my_virtual_field_title'] = "
CASE
WHEN title = 'custom text' THEN 'custom result'
.
.
.
ELSE ''
END
";
更多信息: http://book.cakephp.org/2.0/en/models/virtual-fields.html
..以及當您嘗試此操作時會發生什麼?你有錯誤嗎? – AgRizzo 2014-09-22 12:17:31
我很嗅聞SQL注入漏洞。請使用[**'DboSource :: value()**](http://api.cakephp.org/2.5/class-DboSource.html#_value)正確引用輸入! – ndm 2014-09-22 13:51:55