Есть сущность организация.
Каждый юзер принадлежит к одной или нескольким.
Все остальные сущности тоже принадлежат к органазиации, но иногда не напрямую, а связью через несколько других сущностей - таблиц. Например связь товар -категория-организация.
Необходимо сделать так, чтбы юзер при запросе Model::all() или Model::paginate() и тд получал в ответе только те модели, которые принадлежат той же организации что и он сам.
Как внедрить эти ограничения в каждый запрос каждой модели ? Особенно интересует как ограничить товар по организаии, (связь товар -категория-организация) если понять к какой организации он относится можно только через джойны других таблиц.
Например логика
scope подразумевает что ограничения будут задаваться только по полям этой модели, но не ее связей