$model = Model::when(request()->from, function ($query, $from) {
$query->where('date', '>=', $from);
})->when(request()->to, function ($query, $to) {
$query->where('date', '<=', $to);
})->get();
Apr 26, 2022
12
Level 1
whereBetween when date is null
i have one problem when i want to build one query and date from/to are null. I dont get records. If from and to are null with this sentence i dont have all records. I do not get any results. or if from is empty or to is empty is the same way -> I do not get any results.
$model = model::whereBetween('date',[from,to])->get()
i created this way... but i want to know if there is a easy way to make this:
$whereFrom = !empty(request()->from) ? "`date` > ".request()->from : '';
$whereTo = !empty(request()->to) ? "`date` < ".request()->to : '';
$conditional = !empty($whereFrom) && !empty($whereTo) ? ' and ' : '';
$model = model::where(function($query) use ($whereFrom,$conditional,$whereTo){
if(!empty($whereFrom) || !empty($whereTo)){
$query->whereRaw($whereFrom.$conditional.$whereTo);
}
})->where(more_information )->get()
Thanks !!!!
Level 75
4 likes
Please or to participate in this conversation.