Yii2 ActiveQuery 一列不等于另一列

Yii2 ActiveQuery one column not equal another

我需要 select 来自数据库的所有记录,其中一列值不等于同一行中的另一列。在 SQL 中,它看起来像这样:

SELECT * FROM `user` WHERE (`created_at` != `logged_at`)

在 Yii2 中,我尝试这样做:

$query = User::find()->where(['!=', 'created_at', 'logged_at']);

但它生成

SELECT * FROM `user` WHERE (`created_at` != 'logged_at')

所以,问题是,如何使用列名而不是字符串作为第三个参数?

尝试使用yii\db\Expression class:

$query = User::find()->where(new yii\db\Expression('created_at != logged_at');