CakePHP模型->在现场查找和IF条件 [英] CakePHP model->find and IF condition in field

查看:89
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆