Как создать поисковую систему с отношениями? - PullRequest
0 голосов
/ 03 июня 2019

Я постараюсь объяснить, что могу.У меня есть таблица с рекомендациями, как, например, автомобили.У меня есть таблицы отношений, как: марка, модель.Что означает, что в таблице adv можно ввести

id | make_id | model_id 1 |23 |33

make_id - это Hyundai, а идентификатор модели - Excel. У меня появляется окно поиска при вводе ключевого слова для поиска

, если я набираю Hyundai

// create search model
$adv = Advertisement::query();

// status activate 64
$adv->where('user_id', Auth()->user()->id);

// make
$adv->whereHas('make', function($query) use($request) {
    $query->where('name', 'like', '%' . $request->search_adv . '%');
});

dd($adv->get());

Идеально подходит для make.но когда я делаю

// создаем модель поиска $ adv = Advertising :: query ();

// status activate 64
$adv->Where('user_id', Auth()->user()->id);

// make
$adv->whereHas('make', function($query) use($request) {
    $query->orWhere('name', 'like', '%' . $request->search_adv . '%');
});

// model
$adv->whereHas('model', function($query) use($request) {
    $query->orWhere('name', 'like', '%' . $request->search_adv . '%');
});

dd($adv->get());

Как это сделать?

1 Ответ

2 голосов
/ 03 июня 2019
// status activate 64
$adv->Where('user_id', Auth()->user()->id);

// make
$adv->whereHas('make', function($query) use($request) {
    $query->where('name', 'like', '%' . $request->search_adv . '%');
});

// model
$adv->orWhereHas('model', function($query) use($request) {
    $query->where('name', 'like', '%' . $request->search_adv . '%');
});

dd($adv->get());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...