Reputation: 297
$search = Workforce::whereHas('task_schedule', function($q) use($request){
if($request->search_schedule_day != null){
foreach($request->search_schedule_day as $day){
/*$q->whereIn('schedule_day', 'like', '%'. $day .'%');*/
var_dump($day);
}
}
if($request->search_time_in != null){
$q->where('schedule_time_in', 'like', '%' . $request->search_time_in . '%');
}
if($request->search_time_out != null){
$q->where('schedule_time_out', 'like', '%' . $request->search_time_out . '%');
}
})
I am currently making an advanced search feature, and I have encountered this problem wherein I have an array of search_schedule[] . Then in the database, it is saved one day per row. How do I set a query for searching the days in that array ?
if($request->search_schedule_day != null){
foreach($request->search_schedule_day as $day){
/*$q->whereIn('schedule_day', 'like', '%'. $day .'%');*/
var_dump($day);
}
}
How can I set a query in the above block of code wherein it checks rows in database where column = $request->search_schedule_day
Upvotes: 1
Views: 590
Reputation: 3287
If you are trying to check whether the model's schedule_day
is present in $request->search_schedule_day
, you can try this:
if($request->search_schedule_day != null) {
$q->where(function($query)use($request) { // group orWheres
for ($request->search_schedule_date as $day) {
$query->orWhere('schedule_day', $day);
}
}
}
Upvotes: 2