Yii2查询mysql,添加一个在查询中不存在的列

时间:2017-03-22 17:10:39

标签: mysql yii2

我想得到一个不存在的列但返回错误

正常方式是:

SELECT 1 AS flag....
yii中的

Model::find()->select("1 AS flag, ...)...

问题是查询返回顶点

SELECT `1` AS `flag`

我已经尝试使用数组,但效果相同。

我该怎么办?

谢谢, 加布里埃尔。

2 个答案:

答案 0 :(得分:2)

函数findBySql可能适合您:

$sql = 'SELECT 1 as flag ...';
$model = Model::findBySql($sql)->all(); 

答案 1 :(得分:1)

除了 gmc 回答之外,您还可以在模型类中声明变量,然后在查询中将其用作别名。

class YourModelName extends ActiveRecord
{
     public $flag;
}

然后您的以下查询将有效。

Model::find()->select("1 AS flag, ...)...

希望它有所帮助!