IT TIP

Eloquent ORM laravel 5 ID 배열 가져 오기

itqueen 2020. 12. 2. 22:23
반응형

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

반응형