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
'programing' 카테고리의 다른 글
포착되지 않은 TypeError : 정의되지 않은 'createDocumentFragment'속성을 읽을 수 없습니다. (0) | 2021.01.14 |
---|---|
Kotlin에서 사용하지 않는 매개 변수 표시 (0) | 2021.01.14 |
React Hooks useEffect에서 oldValues와 newValues를 비교하는 방법은 무엇입니까? (0) | 2021.01.14 |
Windows 스크립트의 명명 된 환경 변수에서 따옴표 제거 (0) | 2021.01.14 |
SQL 형식화 표준 (0) | 2021.01.14 |