我有卡车和卡车历史表,他们有以下结构
id, truck_id, status, created_at
table truck_history
$query = V4TblTrucks::find() //tbl_trucks
->leftJoin('tbl_truck_history', 'tbl_truck_history.truck_id = tbl_trucks.id')
->andWhere(["between", "tbl_trucks.created_at", $ts1, $ts2])
truck_history保存了几个历史记录,例如:已过期,已创建,已删除
所以我要做的是让所有卡车在特定日期创建,甚至是那些可能在特定日期过期的卡车
使用tbl_trucks确定创建日期和卡车历史记录以确定到期日
所以我试过了
if (array_key_exists('non_reg', $arr)) {
if ($arr['non_reg']) {
$query->orFilterWhere([
'or',
['IN', 'tbl_truck_history.status', [28, 25, 24]]
])->orWhere(["between", "tbl_truck_history.created_at", $ts1, $ts2]);
}
}
当在前端提供钥匙时,我想检查该持续时间内过期的卡车,所以我已添加
args:
所以第二部分是无法工作的部分。同时过滤where和orWhere条件
我的任务是什么? Nb:$ ts1和$ ts2是从前端传递的次数