Я пытаюсь создать поисковую систему для пользователей. Поиск будет состоять из нескольких полей, чтобы пользователь мог выбирать все, что захочет, и получить результат.Объединить несколько запросов (Laravel 5)
routes.php:
Route::get('search/{tag?}/{town?}/{education?}/{contract?}', '[email protected]');
DisplayJobs.php Контроллер
public function getSearch($tag = null, $town = null, $education = null, $contract = null)
{
//get already database values to send them to the form
$tags = \App\Tag::lists('name', 'id');
$contract = \App\Contract::lists('name', 'id');
$towns = \App\Town::lists('name', 'id');
$education = \App\Education::lists('name', 'id');
$tagQueryBuilder = Tag::query();
$townQueryBuilder = Town::query();
$educationQueryBuilder = Education::query();
$contractQueryBuilder = Contract::query();
if(Input::has('tag'))
{
$tagQueryBuilder->TagOfUser(Input::get('tag'));
}
if(Input::has('town'))
{
$townQueryBuilder->TownOfUser(Input::get('town'));
}
if(Input::has('education'))
{
$educationQueryBuilder->EducationOfUser(Input::get('education'));
}
if(Input::has('contact'))
{
$contractQueryBuilder->ContactOfUser(Input::get('contact'));
}
return view('main.search_jobs', compact('tags', 'towns', 'contract', 'education'));
}
Если я пытаюсь с каждым отдельным запросом он прекрасно работает, но я хочу совмещенные данные результатов от всех запросов или способа запроса сразу всех данных.
В каждой модели у меня есть сфера запрос, как этот (Tag.php) Модель:
public function jobs()
{
return $this->belongsToMany('App\Job');
}
public function scopeTagOfUser($query, $tag)
{
return $query->where('id', '=', $tag)->with('jobs');
}
Ваш вопрос не ясен. Вы хотите, чтобы объединенные данные результата из всех запросов или вы хотели бы запросить сразу все данные? Кроме того, ни один из списков '\ App \ Something :: ('name', 'id');' work, что заставляет меня задаться вопросом, вы даже запустили код? – JSelser
Благодарим за сообщение. Весь код \ App \ Something :: lists ('name', 'id'); отлично работает, я попробовал. Я хочу только объединить данные результата из всех запросов или способ запросить сразу все данные. –
Также он работает с каждым запросом. –