много продуктов Product. Продукты вяжутся к заведению и партнеру Partner. Мне нужно через связи по id партнеров получить связанные с ними через продукты заведения.
Связи такие: Place связанна через belongsToMany с Product через pivot таблицу (place_id, product_id), Product связан с Partner через hasOne и содержит partner_id. Так вот как мне получить те Place, которые связанны с партнерами с определенными id?
По типу Place::with('products.partner')->whereIn('id', [1,2,3])->get()
*где id - это id партнера в Partner
Надеюсь кто-то поймет ход мысли)
Product::where('partner_id', $partner_id)->with('place')->get();
Place должен иметь релейшн products, а product должен иметь релейшн partner Places::whereHas('products.partners', function($query) use ($partner_id){ $query->where('parnter_id', $partner_id); })
посмотри еще здесь https://laravel.com/docs/5.8/eloquent-relationships#has-many-through
джойном фильтровать
Обсуждают сегодня