laravel에서 범위는 모델의 데이터를 처리하는 데 사용됩니다. 모델에서는 범위로 시작하는 메서드를 정의할 수 있으며 이러한 메서드를 쿼리 범위라고 합니다. ($query){...}"의 첫 글자를 사용합니다.
이 문서의 운영 환경: Windows 10 시스템, Laravel 버전 8, Dell G3 컴퓨터.
laravel에서 범위를 사용하는 방법
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

LARAVEL10INTRODICESEREVERALKEYFEATERESTERETHANCEBEDEVENCENTMENT.1) LazyCollectionsallowEctiversityProcessingoflargedAgestoutSwithoutlakestougleswithoutlakeStiSwithoutloUgentswithoutloWeDAtSwithOUdlingAllRecordsIntomemory.2) The'Make : Model 및 Mightration 'and Mighting'and Mighting 'and Megigation'ArtisAncommandSimplifiesmomodelSandmagrations.3) Integration

laravelymigrations는 eTheystreamlinedevelopment, ensereconsconsencyacrossenvironments 및 simplifycollaborationanddeployment.1) theavergrammationmanagementofdatabaseSchemachanges, rowingerrors.2) MigrationsCanbeverSioncontrolled, ensurin

예, laravelmigrationisworthsing.itsimplifiesDatabaseSchemamanagemanagement, EnhanceScollaboration 및 provostversionControl.useitForstructured, 효율적인 개발.

SoftDeletesInlaravelImpActPerformanceByplicatingQueriesandincreasingStorageneeds.tomitigateSeissues : 1) INDEXTHEDETEDEDEDED_ATCOLUMNTOSPEEDUPQUERIES, 2) useEgerLoadTuceQueryCount 및 3) 정기적으로 클레어 업 소프트-드레인드 리코드 스토 파이어를 유지합니다

laravelmigrationsearebeneficialforversontrol, 협업 및 프로모션 gooddevelopmentpractices.1) theavallingandrollingbackdatabaSechanges.2) MigrationsEnsUreTeAmmebers'SchemasStaySynchronized.3) theencouroughoughoughdatabovase innandeasyre

Laravel의 Soft Deletion 기능은 실제 삭제보다는 레코드를 표시하여 데이터를 보호합니다. 1) SoftDeletEstrait 및 Deleted_at 필드를 모델에 추가하십시오. 2) delete () 메소드를 사용하여 삭제를 표시하고 복원 () 메소드를 사용하여 복원하십시오. 3) 쿼리시 소프트 삭제 레코드를 포함시키기 위해 withTrashed () 또는 coneseTrashed ()를 사용하십시오. 4) 성능을 최적화하기 위해 일정 시간을 초과 한 소프트 삭제 레코드를 정기적으로 청소하십시오.

laravelmigrationseversioncontrolfordatabaseSchemas.

laravelmigrationsmayfailtorollbackduetodataintegritysues, foreignkeyconstraints, orirreversibleactions.1) dataintegrityScanoccurifamigrationaddsdatathatcan'tBeontundone, likeacolumnwithadefaultValue.2) 외국 keycanstraintscanpreventrollsofrelatio


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

WebStorm Mac 버전
유용한 JavaScript 개발 도구