@jazzus

Какой запрос лучше использовать (и почему)?

Запрос 1
$file=Auth::user()
                              ->products()
                              ->where('slug',$product_slug)
                              ->firstOrFail()
                              ->files()
                              ->where('slug', $file_slug)
                              ->firstOrFail();


Запрос 2
$file=File::where('slug', $file_slug)
                               ->whereHas('product', function ($query) use ($product_slug) {
                         $query->where('products.user_id', '=', Auth::id());
                         $query->where('products.slug', '=', $product_slug);
                     })
                               ->firstOrFail();
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
из 2 обозначенных я за 1 потому что whereHas очень медленно, и нет экономии количества запросов во 2 варианте, но как по мне тут лучше использовать связь hasManyThrough
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы