validate([ 'subject_type' => 'required', 'subject_id' => 'required', ]); $user = $this->guard()->user(); $storeId = $user->store_id; $jobs = $user->jobs; $jobValue = []; foreach($jobs as $item) { array_push($jobValue, $storeId . '-' . $item->key); } $query = WorkflowLog::with(['check']) ->whereHas('check', fn($q) => $q->where('subject_type', $request->input('subject_type'))->where('subject_id', $request->input('subject_id'))) ->where(fn($q) => $q->where(fn($q1) => $q1->where('check_type', CheckType::User)->where('check_value', $user->id)) ->orWhere(fn($q1) => $q->where('check_type', CheckType::Job)->whereIn('check_value', $jobValue)) ); $list = $query->paginate($request->input('per_page')); } }