part_os
@part_os
Сложное в простом

Как применить к ленивой загрузке глобальные заготовки?

Привет, подскажите как применить глобальную заготовку к ленивой загрузке ?
Имеем модель
Region::with('city')->get();
или 
Region::all();

public function city()
    {
        return $this->belongsToMany('App\City','region_city','region_id','city_id');
    }

Глобальную заготовку
class AccountScopes implements Scope
{
    public function apply(Builder $builder, Model $model)
    {
        $builder->where('account_id', '=',  1);
    }
}

Получаем первый запрос с применением заготовки, а вот если я связанную модель получаю, на эти запросы не применяется.
select * from `regions` where `account_id` = 1

select `citys`.*, `regions`.`region_id` as `pivot_region_id`, `region_city`.`city_id` as `pivot_gorodid` from `city` inner join `region_city` on `city`.`id` = `region_city`.`city_id` where `region_city`.`region_id` in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)

Если метод all() вызвать и получать ->city как связанную модель так тоже не подставляет.
Как можно такое решить ?
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
part_os
@part_os Автор вопроса
Сложное в простом
Нашёл причину, оказалось в связанной таблице так же нужно применять глобальные заготовки.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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