7 и пользователь класса DB для фильтрации результатов из базы данных.
$profiles = DB::table('profiles')->where('status_id', '=', 1)
->when($genderCheckbox, function($query) use ($vacature){
return $query->where('gender_id', '=', $vacature->gender_id);
})
->when($salaryCheckbox, function($query) use ($vacature){
return $query->where('min_salary', '<=', $vacature->salary)->where('max_salary', '>=', $vacature->salary);
})
->when($ageCheckbox, function ($query) use ($vacature){
return $query->whereDate('birthday', '<', Carbon::today()->subYear($vacature->min_age))->whereDate('birthday', '>', Carbon::today()->subYear($vacature->max_age));
})
->when($educationCheckbox, function ($query) use ($viableEducationArray){
return $query->whereIn('done_education_id', $viableEducationArray);
})
->when($timeCheckbox, function ($query) use ($vacature){
return $query->where('shift_id', '=', $vacature->shift_id)->orWhere('shift_id', '=', null);
})
->when($licenseCheckbox, function ($query) use ($vacature){
if ($vacature->license_type_id == 1){
return $query->where('license_type_id', '>=', $vacature->license_type_id);
}elseif ($vacature->license_type_id == 2){
return $query->where('license_type_id', 2)->orWhere('license_type_id', 4);
}elseif ($vacature->license_type_id == 3){
return $query->where('license_type_id', 3)->orWhere('license_type_id', 4);
}elseif ($vacature->license_type_id == 4){
return $query->where('license_type_id', 4);
}
})
->when($districtCheckbox, function ($query) use ($vacature){
return $query->where('district_id', $vacature->district_id);
})
->when($residenceCheckbox, function ($query) use ($vacature){
return $query->where('residence_id', $vacature->residence_id);
})
->get();
До сих пор это работало нормально.Я настроил 3 таблицы: пользователи, дни и вакансии.Пользователи могут быть доступны в течение многих дней.Работа может также потребовать, чтобы пользователь присутствовал в течение определенного дня.На этом этапе я создаю две сводные таблицы.Вопрос в том, как заставить пользователей, которые выбрали дни, соответствовать критериям работы соискателя.
Заранее спасибо