首页 > 解决方案 > 当其中一个为空时,如何在雄辩的 laravel 中自定义 whereBetween

问题描述

这是我的代码 - 当 $from 或 $to 为 null.i 时,我希望此查询转换 >= 或 <= 。如何使用最佳优化代码解决问题:

$from=now()->subDays(1);
$to=now();
return Model::whereBetween('created_at',[$from,$to])->get();

标签: laraveleloquent

解决方案


您不能将这些变量保留为空,尽管您可以使用 if 条件来覆盖 $to 或 $from 变为空的情况

例如

if($to === null)
    Model::where('created_at','>=', $from)->get();
else
    Model::where('created_at','<=', $to)->get();


推荐阅读