簡體   English   中英

Laravel在多行上

[英]Laravel whereHas on multiple rows

$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 . '%');
        }
    })

我目前正在使用高級搜索功能,並且遇到了這個問題,其中有一個search_schedule []數組。 然后在數據庫中,每行保存一天。 如何設置查詢以搜索該數組中的日期?

編輯

            if($request->search_schedule_day != null){
            foreach($request->search_schedule_day as $day){
                /*$q->whereIn('schedule_day', 'like', '%'. $day .'%');*/
                var_dump($day);
            }
        }

如何在上面的代碼塊中設置查詢,其中它檢查數據庫中的行,其中column = $ request-> search_schedule_day

如果您嘗試檢查$request->search_schedule_day是否存在模型schedule_day則可以嘗試以下操作:

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);
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM