Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Доброго времени суток, возможно не правильно сформулирую свой вопрос, вообщем такая задача:
поиск заведений по кухням
использую отношение многие к многим
Resta model
public function kitchens()
{
return $this->belongsToMany('App\Kitchen')->withTimestamps();
}
Kitchen model
public function resto()
{
return $this->belongsToMany('App\Resto');
}
допустим с формы приходит массив с id кухни, как получить заведение у которых есть эти кухни ?
Не в сети
решено! можно закрыть, поспешил
Не в сети
стойте а как быть если нужно проверить сразу в двух пивотных таблицах на наличие объектов с заданным id ?
Не в сети
стойте а как быть если нужно проверить сразу в двух пивотных таблицах на наличие объектов с заданным id ?
Уточните вопрос.
Как вариант еще оно отношение запилить и пользовать.
Не в сети
nemocoder пишет:стойте а как быть если нужно проверить сразу в двух пивотных таблицах на наличие объектов с заданным id ?
Уточните вопрос.
Как вариант еще оно отношение запилить и пользовать.
Смотри у меня модель Resto связывается еще с Service
public function services()
{
return $this->belongsToMany('App\Service')->withTimestamps();
}
public function restos()
{
return $this->belongsToMany('App\Resto');
}
для проверки kitchens я делаю так
$services = Request::get('services');
$kitchen = Request::get('kitchen');
$restos = Resto::whereHas('kitchens', function ($query)use ($kitchen) {
$query->whereIn('id', $kitchen);
})->get();
но мне в запросе приходит еще services по аналогии точно так же нужно проверить вместе с kitchens
Не в сети
сработало
$restos = Resto::whereHas('services', function($query)use ($service){
$query->whereIn('id',$service);
})
->whereHas('kitchens', function($query)use ($kitchen){
$query->whereIn('id',$kitchen);
})
->get();
Изменено nemocoder (10.09.2015 20:05:53)
Не в сети
Страницы 1