Size: a a a

Laravel для начинающих

2021 February 26

e

eldarda in Laravel для начинающих
ля шо не так
источник

И

Игорь in Laravel для начинающих
eldarda
ля шо не так
источник

И

Игорь in Laravel для начинающих
eldarda
ля шо не так
источник

e

eldarda in Laravel для начинающих
лол проекту год
источник

e

eldarda in Laravel для начинающих
и это не установлено
источник

И

Игорь in Laravel для начинающих
eldarda
лол проекту год
так оно и не надо во всех случаях
источник

e

eldarda in Laravel для начинающих
спасибо
источник

И

Игорь in Laravel для начинающих
кому надо - тот и ставит
источник

НГ

Никита Гончаров... in Laravel для начинающих
Никита Гончаров
Можете помочь пж: таблица basket - тип связка пользователя и товара (vendorCode - код товара). Как через модель можно вытянуть товары,  для определенного user_id? Вот код, но оно его естественно не видит:
if(Auth::check())
       {
           $products = Product::with('users')->where('user_id', '=', Auth::id())->get();
           return view('basket.index', compact('products'));
       }
       else return redirect()->route('login');
Возвращаясь к этому вопросу: сделал join-ом... Можно как-то впихнуть with сюда?

$products = DB::table('basket')
               ->join('products', 'basket.product_vendorCode', '=', 'products.vendorCode')
               ->join('users', 'basket.user_id', '=', 'users.id')
               ->where('users.id', '=', Auth::id())
               ->select('products.*')
               ->with(['metals', 'categories', 'sizes', 'stone_colors'])
               ->get();

так with не работает
источник

НГ

Никита Гончаров... in Laravel для начинающих
Можно как-то заселекченый объект продукта привести к его модели.. Чтот тип
источник

KA

Konstantin Aksarin in Laravel для начинающих
А у корзины есть эти релейты?
источник

EG

Egor Gruzdev in Laravel для начинающих
Никита Гончаров
Возвращаясь к этому вопросу: сделал join-ом... Можно как-то впихнуть with сюда?

$products = DB::table('basket')
               ->join('products', 'basket.product_vendorCode', '=', 'products.vendorCode')
               ->join('users', 'basket.user_id', '=', 'users.id')
               ->where('users.id', '=', Auth::id())
               ->select('products.*')
               ->with(['metals', 'categories', 'sizes', 'stone_colors'])
               ->get();

так with не работает
Basket::query()
 ->with(['products' => fn($query) => $query->with(['metals', 'categories', 'sizes', 'stone_colors'])])
 ->where('user_id',  Auth::id())
 ->get();
источник

НГ

Никита Гончаров... in Laravel для начинающих
Egor Gruzdev
Basket::query()
 ->with(['products' => fn($query) => $query->with(['metals', 'categories', 'sizes', 'stone_colors'])])
 ->where('user_id',  Auth::id())
 ->get();
Спасибо огромное!
источник

НГ

Никита Гончаров... in Laravel для начинающих
Konstantin Aksarin
А у корзины есть эти релейты?
Нет, но я вдуплил
источник

НГ

Никита Гончаров... in Laravel для начинающих
Оно работает, но я все же тупенький еще, так нормально?:

$products = Product::query()
           ->with(['metals', 'categories', 'sizes', 'stone_colors'])
           ->join('basket', 'basket.product_vendorCode', '=', 'products.vendorCode')
           ->where('basket.user_id', '=', Auth::id())
           ->get();
источник

EG

Egor Gruzdev in Laravel для начинающих
Никита Гончаров
Оно работает, но я все же тупенький еще, так нормально?:

$products = Product::query()
           ->with(['metals', 'categories', 'sizes', 'stone_colors'])
           ->join('basket', 'basket.product_vendorCode', '=', 'products.vendorCode')
           ->where('basket.user_id', '=', Auth::id())
           ->get();
без join

Product::query()
 ->with(['metals', 'categories', 'sizes', 'stone_colors'])
 ->whereHas('basket', fn($query) => $query->where('user_id', Auth::id()))->get();


тебе ведь только продукты, без basket мусора
источник

НГ

Никита Гончаров... in Laravel для начинающих
Egor Gruzdev
без join

Product::query()
 ->with(['metals', 'categories', 'sizes', 'stone_colors'])
 ->whereHas('basket', fn($query) => $query->where('user_id', Auth::id()))->get();


тебе ведь только продукты, без basket мусора
Да, ты прав. У меня ток ошибка Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ')'. Эт наверное из-за лары 5,4
источник

НГ

Никита Гончаров... in Laravel для начинающих
Не нахожу в доке whereHas, обидно, ну что есть
источник

EG

Egor Gruzdev in Laravel для начинающих
Никита Гончаров
Да, ты прав. У меня ток ошибка Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ')'. Эт наверное из-за лары 5,4
нет это php 7.4 стрелочные функции
источник

EG

Egor Gruzdev in Laravel для начинающих
замени на
Product::query()
 ->with(['metals', 'categories', 'sizes', 'stone_colors'])
 ->whereHas('basket', function($query) {
   $query->where('user_id', Auth::id());
 })->get();
источник