CakePHP模型->在现场查找和IF条件 [英] CakePHP model->find and IF condition in field
本文介绍了CakePHP模型->在现场查找和IF条件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要构建一个CakePHP模型查询,如下所示:
I need to construct a cakePHP model query like this:
SELECT `Translate`.`var_name` , IF( prove_cn_sim =1, lang_cn_sim, lang_en )
FROM 'translate` AS `Translate`
我尝试过:
$this->find("list", array(
'fields' => array("var_name","IF(prove_cn_sim = 1, lang_cn_sim, lang_en)"),
));
但是我得到了这样的东西:
but I got something like this:
SELECT `Translate`.`var_name`, Translate.IF(prove_cn_sim = 1, lang_cn_sim, lang_en) FROM `translate` AS `Translate`
CakePHP将表前缀添加到IF.你知道有什么解决办法吗?
CakePHP add table prefix to IF. do you know any solutions?
推荐答案
尝试添加然后,在使用模型上的查找结果时,您始终可以从虚拟lang
字段中读取正确的值.在您的情况下,它将变为:
Then you can always read the correct value from the virtual lang
field when using finds on the model. Which would in your case become something like:
$this->find('list', array(
'fields' => array('var_name', 'lang'),
));
这篇关于CakePHP模型->在现场查找和IF条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文