我在数据库中有作业表,其中的默认列为 created_at 和 updated_at 。
我想返回创建的作业数量和更新的数量。
但是,当在创建时填充了updated_at列时,我想排除所有updated_at值与created_at值相同的作业(以便仅获取自创建以来已更新的作业)。
我使用以下代码获取某个时间范围内的更新作业数。
$jobsUpdated = Job::where('id', $id)
->whereBetween('updated_at', [$value['fromDate'], $value['tillDate']])
->count();
如何添加另一个where子句以排除与created_at具有相同值的结果。
理论上类似:
->andWhere('updated_at', '!=' , 'created_at')
但是andWhere不存在,所以这只是为了显示我的想法。
谢谢!
答案 0 :(得分:0)
$jobsUpdated = Job::where('id', $id)
->whereBetween('updated_at', [$value['fromDate'], $value['tillDate']])
->whereColumn('updated_at', '!=' , 'created_at')
->count();
使用官方doc引用的whereColumn()
函数比较列值