Laravel은 우아한 구문, 편리한 개발 및 효율적인 성능으로 개발자들이 선호하는 인기 있는 PHP 웹 프레임워크입니다. Laravel 개발에서는 데이터베이스 작업이 특히 중요합니다. Laravel은 데이터베이스 운영을 위한 DB 클래스를 제공합니다. 이번 글에서는 Laravel DB 클래스의 사용법을 자세히 소개하겠습니다.
Laravel 개발에서는 DB 클래스를 통해 쉽게 데이터베이스 작업을 수행할 수 있습니다. DB 클래스를 사용하기 전에 컨트롤러에 네임스페이스를 도입해야 합니다.
use IlluminateSupportFacadesDB;
DB 클래스를 통해 쿼리, 삽입, 업데이트, 삭제 등과 같은 작업을 수행할 수 있습니다. 다음은 데이터베이스 쿼리의 예입니다.
$users = DB::table('users')->get();
위 예는 사용자 테이블에서 모든 사용자의 레코드를 가져오는 것입니다. 단일 레코드를 얻으려면 다음 코드를 사용할 수 있습니다.
$user = DB::table('users')->where('name', 'John')->first();
위 코드는 사용자 테이블에서 John이라는 첫 번째 레코드를 가져옵니다.
DB 클래스의 핵심은 쿼리 생성자입니다. 쿼리 빌더는 매우 유연하고 편리한 체인 방식을 통해 쿼리를 작성할 수 있습니다. 다음은 몇 가지 예입니다.
a. where 조건 쿼리
$users = DB::table('users')->where('name', '=', 'John')->get();
위 예는 사용자 테이블에서 이름이 'John'과 같은 레코드를 쿼리합니다. 조건 유형은 두 번째 매개변수를 통해 '>', '0d7210752609125c1eded91895753438=', '<=' 등과 같이 지정할 수 있습니다.
b.orWhere 조건부 쿼리
$users = DB::table('users')->where('name', '=', 'John')->orWhere('name', '=', 'Mary')->get();
위의 예는 사용자 테이블에서 이름이 'John'이거나 'name'이 'Mary'인 레코드를 쿼리하는 것입니다.
c. 다중 Where 조건 쿼리
$users = DB::table('users')->where([ ['status', '=', '1'], ['name', '<>', 'John'] ])->get();
위의 예는 사용자 테이블에서 상태가 1이고 이름이 John과 같지 않은 레코드를 쿼리하는 것입니다.
d.whereBetween 조건 쿼리
$users = DB::table('users')->whereBetween('votes', [1, 100])->get();
위의 예는 사용자 테이블에서 1~100 사이의 투표를 받은 레코드를 쿼리하는 것입니다.
e.whereIn 조건부 쿼리
$users = DB::table('users')->whereIn('id', [1, 2, 3])->get();
위의 예는 사용자 테이블에서 ID 1, 2, 3의 레코드를 쿼리하는 것입니다.
f.orderBy sort query
$users = DB::table('users')->orderBy('name', 'desc')->get();
위의 예는 사용자 테이블의 레코드를 이름을 기준으로 역순으로 쿼리하는 것입니다.
Laravel DB 클래스는 쿼리 작업뿐만 아니라 삽입, 업데이트, 삭제 작업도 지원합니다. 다음은 몇 가지 예입니다.
a. 데이터 삽입
DB::table('users')->insert([ 'email' => 'john@example.com', 'name' => 'John Doe' ]);
위 예에서는 이메일 주소가 john@example.com이고 이름이 John Doe인 레코드를 사용자 테이블에 삽입합니다.
b. 데이터 업데이트
DB::table('users')->where('id', 1)->update(['votes' => 1]);
위의 예는 ID가 1인 사용자의 투표 수를 1로 업데이트합니다.
c. 데이터 삭제
DB::table('users')->where('votes', '<', 100)->delete();
위의 예는 투표가 100 미만인 모든 사용자를 삭제합니다.
데이터 연산 과정에서는 데이터 삽입 시 오류 등 사고가 발생할 가능성이 높습니다. 이때 데이터 무결성을 보장하기 위해 트랜잭션을 롤백해야 합니다. Laravel DB 클래스는 트랜잭션 작업을 지원합니다. 예는 다음과 같습니다.
DB::transaction(function () { DB::table('users')->update(['votes' => 1]); DB::table('posts')->delete(); });
위 예는 사용자 테이블에 있는 모든 사용자의 투표 수를 1로 업데이트하고 게시물 테이블에 있는 모든 기록을 삭제하는 간단한 트랜잭션입니다. 트랜잭션 도중 오류가 발생하면 자동으로 롤백되어 데이터 무결성이 유지됩니다.
대부분의 경우 Laravel DB 클래스는 기본 데이터베이스 및 테이블에 자동으로 연결되지만, 연결 및 테이블 이름을 수동으로 지정해야 하는 경우도 있습니다. 다음은 그 예입니다.
$users = DB::connection('connection-1')->table('users')->get();
위 예는 첫 번째 연결에서 사용자 테이블의 모든 데이터를 표시합니다. config/database.php 파일에서 여러 연결 정보를 구성할 수 있습니다.
Laravel DB 클래스를 통해 데이터베이스 작업을 쉽게 수행할 수 있습니다. 간단한 데이터 쿼리부터 복잡한 트랜잭션 작업까지 Laravel DB 클래스는 해당 메서드와 구문을 제공합니다. 실제 개발에서는 유연하고 효율적인 데이터 작업을 달성하기 위해 필요에 따라 쿼리 빌더, 트랜잭션 및 연결을 조합하여 사용할 수 있습니다.
위 내용은 laravel db 클래스를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!