Laravel 5.4, где пункты, если $ request-> gT; jobTitle! Null?

Я построил небольшую форму поиска, которая помогает мне искать работу в таблице из БД.

В таблице jobs есть столбцы jobTitle, jobCompany, jobGovernorate, jobLocation и made_at

И размещены данные из формы поиска:

{ «JobTitle»: «дизайнер», «jobCompany»: нулевой, «jobGovernorate»: нулевой, «jobLocation»: нулевой, «PostingDate»: «объявление»}

Я имею в виду, что некоторые входные данные могут быть нулевыми, поэтому как писать динамические, где предложение для входных данных имеет значение, я хочу, чтобы поисковая система могла выполнять поиск по JobTitle, JobCompany или всем входным данным, если они имеют значение.

Подсказка: имя поля и имя столбца таблицы совпадают

если есть способ получить работу из моей базы данных, как

DB::table('jobs')->where($request->all())

Извините за плохой английский, я не знаю, как объяснить мой вопрос

0

Решение

Я предпочитаю определять все поля поиска.

$searchFields = ['jobTitle','jobCompany','jobGovernorate','jobLocation','postingDate'];
$jobQuery = DB::table('jobs');
foreach ($searchFields as $field) {
if ($request->has($field)) {
$jobQuery->where($field, $request->input($field));
}
}
$results = $jobQuery->get();
2

Другие решения

Вы должны закодировать запрос, я имею в виду, что вы ищете?
что-то вроде

DB::table('jobs')->where([
['jobTitle',  'like', $request->jobTitle . '%'],
['jobCompany', 'like', $request->jobCompany . '%']])->get();
0

По вопросам рекламы [email protected]