>PHP 프레임워크 >Laravel >Laravel에서 쿼리 결과를 반복하는 방법에 대한 자세한 설명

Laravel에서 쿼리 결과를 반복하는 방법에 대한 자세한 설명

PHPz
PHPz원래의
2023-04-06 16:48:141581검색

Laravel은 인기 있는 PHP 개발 프레임워크로, 데이터베이스 쿼리가 자주 사용되는 작업 중 하나입니다. 실제 개발 과정에서는 결과를 표시하거나 추가 처리를 위해 쿼리 결과를 반복해야 하는 경우가 있습니다. 이 글에서는 Laravel에서 쿼리 결과를 반복하는 방법을 소개합니다.

1. 데이터 쿼리

결과 쿼리를 시작하기 전에 먼저 데이터를 쿼리해야 합니다. Laravel은 Eloquent ORM과 Query Builder라는 두 가지 쿼리 방법을 제공합니다. Eloquent ORM은 데이터베이스의 테이블을 객체로 매핑할 수 있는 객체-관계형 매핑으로, 데이터베이스 운영을 쉽게 해줍니다. Query Builder는 쿼리 메소드이기도 하며 체인 호출을 통해 SQL 쿼리문을 작성하는 빌더 패턴입니다.

Eloquent ORM과 Query Builder를 사용하여 데이터를 쿼리하는 방법을 소개하겠습니다.

(1) Eloquent ORM 쿼리 데이터

Eloquent ORM을 사용하여 데이터를 쿼리할 때는 먼저 해당 모델을 정의해야 합니다. 모델은 데이터베이스의 테이블에 해당합니다. 모델에서 필드, 관련 테이블, 데이터 작업 및 기타 방법을 정의할 수 있습니다.

모델 정의 예:

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    // 定义对应表的名称
    protected $table = 'user';

    // 定义主键名称
    protected $primaryKey = 'id';

    // 定义可被批量赋值的字段
    protected $fillable = [
        'name', 'age', 'gender'
    ];

    // 定义关联关系等方法
}

모델을 정의한 후 Eloquent ORM을 사용하여 쿼리할 수 있습니다.

모든 데이터 쿼리:

$users = App\Models\User::all();

한 개의 데이터 쿼리:

$user = App\Models\User::find(1);

조건에 따라 여러 데이터 쿼리:

$users = App\Models\User::where('age', '>', 18)->get();

여기서 Eloquent ORM 쿼리의 결과는 컬렉션 객체라는 점에 유의해야 합니다. 정렬. 컬렉션 개체는 데이터 처리에 도움이 되는 다양한 편리한 방법을 제공합니다.

(2) 데이터를 쿼리하는 Query Builder

쿼리 빌더를 사용하여 데이터를 쿼리하는 방식으로 DB 클래스의 메소드를 직접 호출합니다. Query Builder를 사용하는 경우 먼저 DB 클래스의 table 메소드를 호출하여 쿼리 테이블을 지정해야 하며, 이후 체인 호출을 통해 SQL 쿼리문을 작성할 수 있습니다.

모든 데이터 쿼리:

$users = DB::table('user')->get();

한 개의 데이터 쿼리:

$user = DB::table('user')->where('id', '=', 1)->first();

조건에 따라 여러 데이터 쿼리:

$users = DB::table('user')->where('age', '>', 18)->get();

2. 쿼리 결과를 반복합니다.

데이터를 쿼리한 후 쿼리를 반복할 수 있습니다. 결과. foreach 루프나 for 루프를 사용하여 탐색할 수 있습니다.

(1) foreach 루프 사용

foreach 루프를 사용할 때 쿼리 결과(Eloquent ORM으로 쿼리한 컬렉션 개체 또는 Query Builder로 쿼리한 stdClass 개체)를 직접 루프를 통해 루프하면 됩니다.

Eloquent ORM 예시:

$users = App\Models\User::all();
foreach($users as $user) {
    echo $user->name;
}

Query Builder 예시:

$users = DB::table('user')->get();
foreach($users as $user) {
    echo $user->name;
}

(2) for 루프 사용

for 루프를 사용할 때는 먼저 쿼리 결과를 배열로 변환한 후 트래버스해야 합니다.

Eloquent ORM 예:

$users = App\Models\User::all()->toArray();
$total = count($users);
for($i = 0; $i < $total; ++$i) {
    echo $users[$i][&#39;name&#39;];
}

Query Builder 예:

$users = DB::table(&#39;user&#39;)->get()->toArray();
$total = count($users);
for($i = 0; $i < $total; ++$i) {
    echo $users[$i]->name;
}

Summary

이 글에서는 Laravel에서 Eloquent ORM과 Query Builder를 사용하여 데이터를 쿼리하는 두 가지 방법을 소개하고 foreach 루프와 for 루프 샘플을 사용하는 방법을 제공했습니다. 횡단을 위한 코드입니다. 실제 개발 과정에서 특정 비즈니스 요구에 따라 데이터 쿼리 및 탐색에 적합한 방법을 선택할 수 있습니다.

위 내용은 Laravel에서 쿼리 결과를 반복하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.