programing

Laravel 5.2-pluck () 메서드는 배열을 반환합니다.

yoursource 2021. 1. 14. 23:25
반응형

Laravel 5.2-pluck () 메서드는 배열을 반환합니다.


내 프로젝트 L5.1-> L5.2를 업그레이드하려고합니다. 에서 업그레이드 가이드 나를 위해 분명하지 않다 한 가지가있다 :

lists컬렉션, 쿼리 작성기 및 Eloquent 쿼리 작성기 개체 메서드 이름이 pluck. 메서드 서명은 동일하게 유지됩니다.

괜찮습니다. refactoting의 이름을에서 lists()바꾸는 pluck()것은 문제가되지 않습니다. 하지만 pluck()L5.0과 L5.1에 있던 유용한 방법은 무엇 입니까?

로부터 5.0 설명서 :

행에서 단일 열 검색

$name = DB::table('users')->where('name', 'John')->pluck('name');

pluck()L5.2의 이전 방법에 대한 대안은 무엇입니까 ?

최신 정보:

예:

var_dump(DB::table('users')->where('id', 1)->pluck('id'));

L5.1 :

// int(1)

L5.2 :

// array(1) { [0]=> int(1) }

의 현재 대안은 pluck()입니다 value().


laravel pluck은 배열을 반환합니다.

쿼리가 다음과 같은 경우 :

 $name = DB::table('users')->where('name', 'John')->pluck('name');

그러면 배열은 다음과 같습니다 (키는 항목의 인덱스입니다. 자동 증분 값).

[
    1 => "name1",
    2 => "name2",
    .
    .
    .
    100 => "name100"
]

하지만 이렇게하면 :

$name = DB::table('users')->where('name', 'John')->pluck('name','id');

키는 데이터베이스의 실제 색인입니다.

key||value
[
    1 => "name1",
    2 => "name2",
    .
    .
    .
    100 => "name100"
]

모든 값을 키로 설정할 수 있습니다.


Laravel 5.1+에서는 pluck 대신 value ()를 사용할 수 있습니다.

첫 번째 발생을 얻으려면 다음 중 하나를 사용할 수 있습니다.

DB::table('users')->value('name');

또는 사용,

DB::table('users')->where('id', 1)->pluck('name')->first();

원래 예제에서 데이터베이스 쿼리에 select () 메서드를 사용하지 않는 이유는 무엇입니까?

$name = DB::table('users')->where('name', 'John')->select("id");

이것은 SQL 쿼리를 사용하여 행 선택을 수행하기 때문에 PHP 프레임 워크를 사용하는 것보다 빠릅니다. 일반 컬렉션의 경우 이것이 적용되지 않는다고 생각하지만 데이터베이스를 사용하고 있기 때문에 ...

Larvel 5.3 : Select 절 지정

참조 URL : https://stackoverflow.com/questions/34405138/laravel-5-2-pluck-method-returns-array

반응형