laravel에서는 복잡한 SQL 쿼리에 "DB::raw()" 메서드가 사용됩니다. 이 메서드는 쿼리된 결과 집합을 임시 테이블로 처리한 다음 페이징 처리를 위해 laravel의 쿼리 빌더 구문을 사용할 수 있습니다. "DB::raw('함수 또는 필드');".
이 기사의 운영 환경: Windows 10 시스템, Laravel 버전 6, Dell G3 컴퓨터.
프로젝트에서 문제가 발생했습니다. 복잡한 SQL 쿼리의 경우 laravel의 쿼리 생성자를 사용하는 것이 매우 불편합니다. 혼란스럽습니다. 그러면 기본 SQL 문을 사용하여 쿼리하고 싶지만 지금은 laravel의 paginate() 페이징 메서드를 사용할 수 없습니다. DB::raw() 메서드가 유용합니다. 구문의 원리는 쿼리 결과 집합을 임시 테이블로 처리한 다음 페이징 처리를 위해 laravel의 쿼리 빌더 구문을 사용하는 것입니다.
예제 1:
$users = DB::table('users') ->select(DB::raw('count(*) as user_count, status')) ->where('status', '<>', 1) ->groupBy('status') ->get();
예제 2:
DB::table('someTable') ->selectRaw('count(*), min(some_field) as someMin, max(another_field) as someMax') ->get();
예제 3:
DB::table('someTable')->select( array( DB::raw('min(some_field) as someMin'), DB::raw('max(another_field) as someMax'), DB::raw('COUNT(*) as `count`') ) )->get()
예시 4 :
SELECT (CASE WHEN (gender = 1) THEN 'M' ELSE 'F' END) AS gender_text FROM users; $users = DB::table('users') ->select(DB::raw(" name, surname, (CASE WHEN (gender = 1) THEN 'M' ELSE 'F' END) as gender_text") );
【관련 추천:laravel 비디오 튜토리얼】
위 내용은 laravel에서 DB::raw의 사용법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!