Laravel 데이터베이스 쿼리를 수행할 때 일반적으로 검색할 특정 필드를 지정해야 합니다. 라라벨은 이 목표를 달성하기 위한 다양한 방법을 제공합니다. 다음은 이러한 메소드에 대한 자세한 소개입니다:
Laravel의 select() 메소드는 특정 필드를 검색하는 가장 기본적인 방법입니다. 이 메서드를 통해 반환할 필드를 지정할 수 있습니다. 예를 들어, 다음은 사용자 테이블의 이름 및 이메일 필드를 쿼리하는 예입니다.
$users = DB::table('users') ->select('name', 'email') ->get();
위 명령문에서 select() 메서드에서 검색할 필드만 전달하면 된다는 것을 알 수 있습니다. 그러면 이름과 이메일 필드 값이 포함된 배열이 반환됩니다.
어떤 경우에는 기존 쿼리 작업에서 반환될 필드를 추가해야 할 수도 있습니다. 이때 addSelect() 메소드를 사용할 수 있습니다. 예를 들어, 다음은 사용자 테이블의 모든 필드를 쿼리하고 국가 필드를 추가하는 예입니다.
$users = DB::table('users') ->addSelect('country') ->get();
위의 명령문에서 addSelect() 메서드에 추가할 필드만 전달하면 된다는 것을 알 수 있습니다. . 그러면 모든 필드 값과 국가 필드 값이 포함된 배열이 반환됩니다.
특정 필드의 값만 검색해야 하는 경우 pluck() 메서드를 사용할 수 있습니다. 예를 들어, 다음은 users 테이블의 email 필드 값을 쿼리하는 예입니다:
$email = DB::table('users')->where('name', 'John')->pluck('email');
위의 명령문에서 우리는 pluck() 메소드에서 검색할 필드만 전달하면 된다는 것을 알 수 있습니다. 그러면 필드의 값이 반환됩니다.
pluck() 메서드와 유사하게 value() 메서드는 특정 필드의 값만 검색합니다. 그러나 pluck() 메서드와 달리 배열이 아닌 단일 값을 반환합니다. 예를 들어, 다음은 사용자 테이블의 이메일 필드 값을 쿼리하는 예입니다.
$email = DB::table('users')->where('name', 'John')->value('email');
위의 명령문에서 value() 메서드에서 검색할 필드만 전달하면 된다는 것을 알 수 있습니다. 그러면 필드의 값이 반환됩니다.
특정 필드를 검색하는 고급 방법도 있습니다. 여러 테이블에서 데이터를 검색하고 특정 조건에 따라 데이터를 필터링해야 하는 경우 selectRaw() 메서드를 사용할 수 있습니다. 예를 들어, 다음은 주문 테이블과 제품 테이블의 특정 필드를 쿼리하는 예입니다.
$orders = DB::table('orders') ->selectRaw('price * ? as total_price', [2]) ->whereIn('id', [1, 2, 3]) ->get();
위 명령문에서 총 가격을 계산하기 위해 selectRaw() 메서드에 원시 SQL 쿼리를 작성했음을 알 수 있습니다. 또한 whereIn() 메서드를 사용하여 검색할 주문 ID를 지정하고 get() 메서드를 사용하여 쿼리 결과를 가져옵니다.
요약
Laravel에서 데이터베이스 쿼리를 수행할 때 검색할 특정 필드를 지정해야 하는 경우가 매우 일반적입니다. 이 목표를 달성하기 위해 select(), addSelect(), pluck(), value() 및 selectRaw()와 같은 메서드를 사용할 수 있습니다. 이러한 방법은 다양한 유연성과 기능을 제공하므로 특정 쿼리 요구 사항에 따라 적절한 방법을 선택할 수 있습니다.
위 내용은 laravel 쿼리 특정 필드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!