Yii queryBuilder;如果数据库表达式没有被很好地引用



我有这个查询:

 $query->select('if(bud.posa=2,1,0) AS proprietaire,if(bud.du=1 and bud.gog=1,1,0) as pa')->from('bud');

如果我执行它会给出合成器错误;我尝试回显正在生成的sql,我发现它没有被生成(引用问题)很好,这是生成的:

select if(bud.posa=2, `1`, `0)` AS `proprietaire`, if(bud.du=1 and bud.gog=1, `1`, `0)` AS `pa` FROM `bud`

0)是什么导致了错误,我不知道如何解决,有什么解决方案吗?

像这样重写查询:

$query->select([
    'proprietaire' => 'if(bud.posa=2,1,0)',
    'pa'           => 'if(bud.posa=2,1,0)',
]);

http://www.yiiframework.com/doc-2.0/yii-db-query.html#select()-detail

试试看:

use yiidbExpression; ....... ....... $expresion = new Expresion('if(bud.posa=2,1,0) AS proprietaire,if(bud.du=1 and bud.gog=1,1,0) as pa'); $query->select($expresion)->from('bud');

相关内容

最新更新