Глобальные области видимости — это жизненно важная концепция в Laravel, позволяющая повторно использовать условия Eloquent во всем вашем приложении. Внедряя глобальные области действия, вы можете применять определенные условия к запросам во всех моделях, способствуя повторному использованию кода и обеспечению согласованности. Напротив, локальные области ограничены одной моделью. В этом уроке мы сосредоточимся на создании и использовании глобальных областей видимости в Laravel.
where('is_active', '=', '1'); //or we can write $builder->whereIsActive('1'); } }
После добавления ActiveScope в модель User::all() сгенерирует следующий SQL.
select * from `users` where `is_active` = '1'Возможны сценарии, в которых требуется получить все данные без применения глобальной области. В Laravel вы можете обойти глобальную область видимости и получить все данные, используя метод WithoutGlobalScope.
User::withoutGlobalScope(ActiveScope::class)->get();Если вы хотите удалить несколько или все глобальные области видимости, примененные к модели, вы можете использовать метод WithoutGlobalScopes в Laravel. Этот метод позволяет обойти все глобальные области или указать те, которые вы хотите удалить. Вот пример:
// Remove all of the global scopes... User::withoutGlobalScopes()->get();// Remove some of the global scopes... User::withoutGlobalScopes([ ActiveScope::class, AgeScope::class ])->get();А если вам нравится контент и вы хотите поддерживать больше замечательных статей, подумайте о том, чтобы купить мне кофе! ☕️? Ваша поддержка очень важна для меня и помогает распространять знания. Вы можете сделать это прямо здесь: ? Купи мне кофе
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3