【发布时间】:2014-12-08 07:07:45
【问题描述】:
我正在使用来自frozennode 的 Laravel Administrator 包。长话短说,我在显示软删除的结果时遇到了问题。我正在尝试覆盖默认查询:
select * from `scripts` where `scripts`.`deleted_at` is null group by `scripts`.`id`
显示已删除和未删除的结果,以某种方式破解。这不是最优雅的解决方案,但我看不到任何其他方法。所以,我的目标是这样做:
select * from `scripts` where `scripts`.`deleted_at` is null or `scripts`.`deleted_at` is not null group by `scripts`.`id`
不幸的是,我不知道如何将 orWhere() 与“不为空”一起使用。经过一番研究,我尝试了一个原始的 SQL 块,如下所示:
'query_filter'=> function($query) {
$query->orWhere(DB::raw('`scripts`.`deleted_at` is not null'));
},
但我最终得到了一条额外的 SQL,导致 orWhere() 中不包含第二个参数:
select * from `scripts` where `scripts`.`deleted_at` is null or `scripts`.`deleted_at` is not null **is null** group by `scripts`.`id`
我该如何解决这个问题?
【问题讨论】:
标签: php sql laravel eloquent administrator