Красноречивым образом вы можете получить желаемый результат как
$sellers = Seller::with('stores.products')->get();
Выше вернут вам всех продавцов с их родственными магазинами и каждый магазин с их родственными продуктами
class Seller extends Model{
public function stores(){
return $this->hasMany('App\Store', 'seller_id')
}
}
class Store extends Model{
public function products(){
return $this->hasMany('App\Product', 'product_id')
}
}
Я считаю, что заказ и продукты связаны как m: m через сводную таблицу, поэтому вы можете определить их отношение как belongsToMany
class Product extends Model{
public function orders(){
return $this->belongsToMany('App\Order')
}
}
Редактировать Я хочу, чтобы конкретные $ продавцы были связаны с только что сделанным заказом и со всей информацией о заказанном продукте, как количество
$sellers = Seller::with(['stores.products.orders' => function ($query) use ($orderId) {
$query->where('id', '=', $orderId);
}])
->whereHas('stores.products.orders', function ($query) use ($orderId) {
$query->where('id', '=', $orderId);
})
->get();