Yii2活动记录过滤器等数值(以列为单位)

Yii2活动记录过滤器等数值(以列为单位),yii2,Yii2,下面的图片是我的示例数据库,我想查询的记录与date\u received与date\u released和time\u received不同 下面的MySQL查询正是我想要的: SELECT * FROM `dts_track` where date_received != date_released and time_received != time_released 这是迄今为止我的Yii2活动记录查询,但它返回数据库中的所有记录: $unit_received = \common\

下面的图片是我的示例数据库,我想查询的记录与
date\u received
date\u released
time\u received
不同

下面的MySQL查询正是我想要的:

SELECT * FROM `dts_track` where  date_received != date_released and time_received != time_released
这是迄今为止我的Yii2活动记录查询,但它返回数据库中的所有记录:

$unit_received = \common\models\dts\DtsTrack::find()->where(['!=', 'dts_track.date_received', 'dts_track.date_released'])->andWhere(['!=', 'dts_track.time_received', 'dts_track.time_released']);

当您对
使用数组语法时=条件,数组的第三个元素被视为值,所以它将作为值转义。所以你实际上是在创造条件,比如
date\u received!='发布日期“
-与静态字符串而不是列值进行比较。您应该使用:

或者完全避免使用数组语法:

$unit_received = \common\models\dts\DtsTrack::find()
    ->where('date_received != date_released')
    ->andWhere('time_received != time_released');

当您对
使用数组语法时=条件,数组的第三个元素被视为值,所以它将作为值转义。所以你实际上是在创造条件,比如
date\u received!='发布日期“
-与静态字符串而不是列值进行比较。您应该使用:

或者完全避免使用数组语法:

$unit_received = \common\models\dts\DtsTrack::find()
    ->where('date_received != date_released')
    ->andWhere('time_received != time_released');