从Yii2中的表中选择数据时,如何在列中选择非空值以及其他列

时间:2019-05-20 02:01:26

标签: php mysql yii2 yii2-advanced-app

以下查询与sql查询一样完美。但是我在将其转换为Yii2格式时遇到麻烦。

SELECT id, name, email, ISNULL(phone) FROM test_users

有人可以帮我吗

2 个答案:

答案 0 :(得分:0)

模型中未映射ISNULL(phone)列,因此请尝试使用适当的列别名,例如:

SELECT id, name, email, ISNULL(phone) phone 
FROM test_users

答案 1 :(得分:0)

您可以使用addSelect类中的方法yii\db\Query

use yii\db\Query;
use yii\db\Expression;

$testUsers = (new Query())
    ->addSelect("id")
    ->addSelect("name")
    ->addSelect("email")
    ->addSelect(new Expression("ISNULL(phone) AS 'isPhoneNull'"))
    ->from("test_users")
    ->all();