집 >데이터 베이스 >MySQL 튜토리얼 >Laravel Eloquent ORM(벵골어 부품 모델 검색)
Laravel Eloquent는 데이터베이스와 상호 작용하는 편리하고 읽기 쉬운 방법을 제공하여 데이터베이스 데이터를 쉽게 얻을 수 있도록 해줍니다. 몇 가지 데이터 수집 기술이 아래에 소개되어 있습니다.
1. 모든 기록 가져오기
all()
메소드를 사용하여 테이블의 모든 레코드를 가져옵니다.
<code class="language-php">use App\Models\Post; $posts = Post::all();</code>
이렇게 하면 컬렉션이 반환됩니다. foreach
루프나 기타 수집 방법을 사용하여 데이터에 액세스할 수 있습니다.
<code class="language-php">foreach ($posts as $post) { echo $post->title; }</code>
2. 싱글 레코드 받기
1. find()
방법: 기본 키를 기반으로 단일 레코드를 가져옵니다.
<code class="language-php">$post = Post::find(1); if ($post) { echo $post->title; }</code>
2. findOrFail()
방법: 기본 키를 기반으로 단일 레코드를 가져옵니다. 레코드가 존재하지 않으면 404 예외가 발생합니다.
<code class="language-php">$post = Post::findOrFail(1);</code>
3. first()
방법: 조건에 맞는 첫 번째 레코드를 가져옵니다.
<code class="language-php">$post = Post::where('status', 'published')->first();</code>
4. firstOrFail()
방법: 조건을 충족하는 첫 번째 레코드를 가져옵니다. 레코드가 존재하지 않으면 404 예외가 발생합니다.
<code class="language-php">$post = Post::where('status', 'published')->firstOrFail();</code>
3. 쿼리 조건을 사용하여 레코드 필터링
where
및 기타 조건문을 사용하여 데이터를 필터링합니다.
1. where
방법:
<code class="language-php">$posts = Post::where('status', 'published')->get();</code>
2. 다중 조건:
<code class="language-php">$posts = Post::where('status', 'published') ->where('user_id', 1) ->get();</code>
3. orWhere
방법:
<code class="language-php">$posts = Post::where('status', 'published') ->orWhere('status', 'draft') ->get();</code>
4. 특정 필드 선택
Eloquent는 기본적으로 모든 필드를 가져옵니다. 특정 필드를 선택하려면 select()
메서드를 사용하세요.
<code class="language-php">$posts = Post::select('title', 'content')->get();</code>
5. 페이지 매김
paginate()
메소드를 사용하여 페이지의 데이터를 가져옵니다.
<code class="language-php">$posts = Post::paginate(10);</code>
블레이드 템플릿에 페이지 매김 링크 표시:
<code class="language-blade">{{ $posts->links() }}</code>
6. 데이터 청킹
대량의 데이터를 처리할 때 메모리 사용량을 효과적으로 줄일 수 있습니다.
<code class="language-php">Post::chunk(100, function ($posts) { foreach ($posts as $post) { echo $post->title; } });</code>
7. 결과 정렬(Ordering)
지정된 순서로 정렬하려면 orderBy()
메소드를 사용하세요.
<code class="language-php">$posts = Post::orderBy('created_at', 'desc')->get();</code>
8. 한계 및 오프셋
가져오는 레코드 수를 제한하려면 take()
또는 limit()
및 skip()
메소드를 사용하세요.
<code class="language-php">$posts = Post::take(5)->get(); // 获取前 5 条记录 $posts = Post::skip(10)->take(5)->get(); // 跳过前 10 条,获取接下来的 5 条</code>
9. 집계 함수(Aggregate)
1. 개수:
<code class="language-php">$count = Post::count();</code>
2. 최대값:
<code class="language-php">$maxViews = Post::max('views');</code>
3. 최소값:
<code class="language-php">$minViews = Post::min('views');</code>
4. 평균:
<code class="language-php">$avgViews = Post::avg('views');</code>
5. 합계:
<code class="language-php">$totalViews = Post::sum('views');</code>
10. 맞춤형 관계 검색
Eloquent는 관계를 통해 다른 모델로부터 데이터를 얻는 것을 지원합니다.
1. 바로 로딩:
<code class="language-php">$posts = Post::with('comments')->get();</code>
2. 관계 지정:
<code class="language-php">$posts = Post::with(['comments', 'user'])->get();</code>
11. 원시 쿼리
Laravel의 DB 파사드를 사용하여 사용자 정의 SQL 쿼리를 실행하세요.
<code class="language-php">use App\Models\Post; $posts = Post::all();</code>
이러한 방법은 다양한 데이터베이스 운영 요구 사항을 충족하는 유연한 데이터 수집 방법을 제공합니다. 실제 상황에 따라 적절한 방법을 선택하십시오.
위 내용은 Laravel Eloquent ORM(벵골어 부품 모델 검색)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!