Size: a a a

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

2020 August 19

SG

Sergey Gerasimov in Laravel для начинающих
Илья
получается одним запросом можно сделать через when?
Всё зависит от того что тебе нужно, вообще да, почти одним
источник

SG

Sergey Gerasimov in Laravel для начинающих
Vladimir Yefremov
есть запрос
return Zone::with(['report.region', 'landfills', 'vehicles', 'auto_park', 'checks', 'media', 'zoneTitle'])
мне нужно по связи 'landfills' сделать count(), но также чтобы 'landfills' тоже оставался в запросе

подскажите плз - как его (count()) сюда прилепить?
или надо сделать отдельным запросом?
withCount('landfills')
источник

VY

Vladimir Yefremov in Laravel для начинающих
Sergey Gerasimov
withCount('landfills')
Спасибо!
источник

SG

Sergey Gerasimov in Laravel для начинающих
Илья
получается одним запросом можно сделать через when?
$products = Products::query()
   ->when($request->get('brand'), function ($query, $brands) {
       $query->whereHas('brand', function ($query) use ($brands) {
            $query->whereIn('name', $brands);
       });
   })
   ->when($request->get('sezon'), function ($query, $sezons) {
       $qyery->whereIn('sezon', $sezons);
   })
   ->get();
источник

И

Илья in Laravel для начинающих
Sergey Gerasimov
$products = Products::query()
   ->when($request->get('brand'), function ($query, $brands) {
       $query->whereHas('brand', function ($query) use ($brands) {
            $query->whereIn('name', $brands);
       });
   })
   ->when($request->get('sezon'), function ($query, $sezons) {
       $qyery->whereIn('sezon', $sezons);
   })
   ->get();
Call to undefined method App\Products::brand()
источник

AK

Alex Kovalchuk in Laravel для начинающих
Илья
Call to undefined method App\Products::brand()
а есть отношения brand?
источник

И

Илья in Laravel для начинающих
Alex Kovalchuk
а есть отношения brand?
в модели brands
public function products(){
       return $this->hasMany('App\Products', 'brand_id');
   }
источник

AK

Alex Kovalchuk in Laravel для начинающих
Илья
в модели brands
public function products(){
       return $this->hasMany('App\Products', 'brand_id');
   }
надо belongsTo в моделе Products
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
🌚
источник

И

Илья in Laravel для начинающих
Alex Kovalchuk
надо belongsTo в моделе Products
сделал
 public function brand(){
       return $this->belongsTo('App\Brands', 'id');
   }

ошибок нет, но ничего не филтрует
источник

AK

Alex Kovalchuk in Laravel для начинающих
Илья
сделал
 public function brand(){
       return $this->belongsTo('App\Brands', 'id');
   }

ошибок нет, но ничего не филтрует
наверное надо hasOne или ключи 2 прописать
источник

V

Vladyslav in Laravel для начинающих
а тут кто то пользуется услугами сервиса cloudflare?
у вас ошибок  не вылетало последние два дня ?
источник

AK

Alex Kovalchuk in Laravel для начинающих
Илья
сделал
 public function brand(){
       return $this->belongsTo('App\Brands', 'id');
   }

ошибок нет, но ничего не филтрует
нет, там чуть не так запрос сделан, у тебя php7.4?
источник

И

Илья in Laravel для начинающих
Alex Kovalchuk
нет, там чуть не так запрос сделан, у тебя php7.4?
да, я убрал id у $this->belongsTo('App\Brands', 'id') и вроде заработало  )
источник

AK

Alex Kovalchuk in Laravel для начинающих
Илья
да, я убрал id у $this->belongsTo('App\Brands', 'id') и вроде заработало  )
круть а я узнал что у when можно передать 2 параметра)
источник

И

Илья in Laravel для начинающих
Alex Kovalchuk
круть а я узнал что у when можно передать 2 параметра)
а я узнал впринципе про when ;D
источник

И

Илья in Laravel для начинающих
Sergey Gerasimov
$products = Products::query()
   ->when($request->get('brand'), function ($query, $brands) {
       $query->whereHas('brand', function ($query) use ($brands) {
            $query->whereIn('name', $brands);
       });
   })
   ->when($request->get('sezon'), function ($query, $sezons) {
       $qyery->whereIn('sezon', $sezons);
   })
   ->get();
спасибо еще раз
источник

AK

Alex Kovalchuk in Laravel для начинающих
Илья
а я узнал впринципе про when ;D
это просто агонь чтобы не создавать переменную и прописывать if
источник

И

Илья in Laravel для начинающих
Alex Kovalchuk
это просто агонь чтобы не создавать переменную и прописывать if
это точно, не так много кода и if смотрится не очень
источник

VY

Vladimir Yefremov in Laravel для начинающих
есть такая связь
    public function landfills($direction = 'asc')
   {
       return $this->hasMany(ReportTko\Zone\Landfill::class)
           ->orderBy('id', $direction);
   }

как мне увидеть/продебажить - какие тут Лара ключи использует?
источник