Laravel. Есть ли возможность добавлять динамические параметры в GlobalScope?
Проблемма. У меня есть агрегационна модель состоящая из данных нескольких таблиц, часть данных вычисляются в самом запросе в базе. Что бы быть уверенным, что модель будет всегда иметь все необходимые данные, можно использовать глобальный скоуп при вызове модели, вместо того, чтобы при каждом вызове модели писать локальный скоуп(в котором передавать параметры).
Но вопрос в том как прокинуть динамические параметры в сам глобальный скоуп? Возможно есть более удобное решенине?
По моему мнению, модель и так будет всегда иметь все необходимые данные даже и без глобального скоупа. Глобальный скоуп можно использовать, если у вас в нескольких моделях будет одинаковый запрос, но он будет всегда применяться к любому запросу, а если глобальный запрос в будущем не понадобится, то придется каждый раз указывать, что запрос должен быть без этого скоупа. Если у вас скоуп только для одной модели, то лучше использовать локальный динамический скоуп.
Николай Смирнов, В Ларавеле Eloquent модель представляет одну таблицу, а у меня задача сделать модель, которая содержит данные из нескольких таблиц и еще некоторые данные, которые вычисляются в сыром запросе. В текущей реализации я использую локальный скоуп во всех запросах модели(модель относится к одной таблице, а остальные данные из других таблиц я получаю уже в скоупе). Но было бы изящнее и безопаснее, если бы я мог использовать один глобальный скоуп для всех запросов, вместо локального скоупа на каждый запрос.