전역 범위는 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();모델에 적용된 여러 개의 전역 범위 또는 전체 범위를 제거하려면 Laravel의 WithoutGlobalScopes 메소드를 사용할 수 있습니다. 이 방법을 사용하면 모든 전역 범위를 우회하거나 제거하려는 전역 범위를 지정할 수 있습니다. 예는 다음과 같습니다.
// 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