Eloquent ORM laravel 5 ID 배열 가져 오기
Eloquent ORM laravel 5.1을 사용하고 있으며 0보다 큰 ID 배열을 반환하고 싶습니다 test
.
나는 시도했다 :
$test=test::select('id')->where('id' ,'>' ,0)->get()->toarray();
반환 :
Array ( [0] => Array ( [id] => 1 ) [1] => Array ( [id] => 2 ) )
하지만 결과가 다음과 같은 간단한 배열에 있기를 원합니다.
Array ( 1,2 )
다음을 사용할 수 있습니다 lists()
.
test::where('id' ,'>' ,0)->lists('id')->toArray();
참고 : 더 나은 당신이 당신의 모델을 정의하는 경우 Studly Case
예를 들어, 형식 Test
.
다음을 사용할 수도 있습니다 get()
.
test::where('id' ,'>' ,0)->get('id');
업데이트 : (버전> = 5.2)
이 lists()
메서드는 새 버전에서 더 이상 사용되지 않습니다>= 5.2
. 이제 pluck()
대신 메서드를 사용할 수 있습니다 .
test::where('id' ,'>' ,0)->pluck('id')->toArray();
참고 : 예를 들어 blade 에서 문자열 이 필요한 경우 다음 과 같이 toArray () 부분 없이 함수를 사용할 수 있습니다 .
test::where('id' ,'>' ,0)->pluck('id');
에서 Collection
할 수있는 또 다른 방법은 다음과 같습니다.
$collection->pluck('id')->toArray()
whereIn()
예를 들어 laravel이 쿼리 에서 완벽하게 사용할 수있는 인덱스 배열을 반환 합니다.
목록 () 메서드에 대해 읽어보십시오.
$test=test::select('id')->where('id' ,'>' ,0)->lists('id')->toArray()
이에 대한 정답은 방법입니다 lists
. 다음과 같이 매우 간단합니다.
$test=test::select('id')->where('id' ,'>' ,0)->lists('id');
문안 인사!
all()
method 대신 method를 사용할 수 있습니다 toArray()
(더보기 : laravel documentation ) :
test::where('id' ,'>' ,0)->pluck('id')->all(); //returns array
필요한 경우 첨부 파일 string
없이 사용할 수 있습니다 toArray()
.
test::where('id' ,'>' ,0)->pluck('id'); //returns string
all () 메서드를 사용하여 선택한 속성의 배열을 가져올 수도 있습니다.
$test=test::select('id')->where('id' ,'>' ,0)->all();
문안 인사
참고 URL : https://stackoverflow.com/questions/34308169/eloquent-orm-laravel-5-get-array-of-ids
'IT TIP' 카테고리의 다른 글
CSS를 비동기 적으로로드하는 방법 (0) | 2020.12.02 |
---|---|
mysqld : dir을 데이터로 변경할 수 없습니다. (0) | 2020.12.02 |
Laravel 5.2-Eloquent 테이블에 대한 사용자 지정 기본 키로 문자열 사용이 0이 됨 (0) | 2020.12.02 |
열을 외래 키로 추가하면 외래 키 제약 조건에서 참조 된 ERROR 열이 존재하지 않습니다. (0) | 2020.12.02 |
WPF 데이터 템플릿이 목록 상자의 전체 너비를 채우도록하려면 어떻게해야합니까? (0) | 2020.12.02 |