laravel에서 범위는 모델의 데이터를 처리하는 데 사용됩니다. 모델에서는 범위로 시작하는 메서드를 정의할 수 있으며 이러한 메서드를 쿼리 범위라고 합니다. ($query){...}"의 첫 글자를 사용합니다.
이 문서의 운영 환경: Windows 10 시스템, Laravel 버전 8, Dell G3 컴퓨터.
scope in laravel
laravel에서는 템플릿(템플릿에 속하지만 속하지 않음)에서 처리되는 데이터(추가, 삭제, 수정, 확인)가 소개됩니다. to range to handler
즉, 템플릿 정의 메소드에서 접두사 범위를 추가합니다.
간단히 말하면 Laravel의 모델은 범위 시작 부분에 메서드를 정의할 수 있으며, 이러한 메서드는 모델을 통해 직접 호출할 수 있습니다. 이러한 유형의 접근 방식을 쿼리 범위라고도 합니다.
조건부 쿼리는 데이터 쿼리에 자주 사용됩니다. 이러한 쿼리 조건 중 일부는 동일한 조건부 쿼리를 재사용할 수 있습니다.
일반 범위
정의
메서드 이름은 범위 + 첫 글자를 대문자로 표기합니다(이것은 부담없이 정의할 수 있습니다)
public function scopeStatus($query) { return $query->where('status',1); }
Use
범위를 제거한 후 첫 글자를 소문자로 함수를 호출합니다.
scopeStatus()는 상태()를 호출합니다.
User::status()->get();
전역 범위
기본적으로 전역적으로 사용되도록 부팅 방법을 재정의하고 상위 클래스 부팅을 통합하고 전역 범위를 추가해야 합니다.
protected static function boot() { parent::boot(); // TODO: Change the autogenerated stub static::addGlobalScope('avaiable',function (Builder $builder){ $builder->whereIn('status', [0, 1]); }); }
때로는 이 전역 범위가 필요하지 않은 쿼리가 있는 경우 이를 제거해야 합니다.
withOutGlobalScope() 메소드 사용
Post::withOutGlobalScope('avaiable')->get();
[관련 권장사항: laravel 비디오 튜토리얼]
위 내용은 Laravel에서 범위를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!