2016-07-21 5 views
0

laravel을 사용하고 있습니다. 지금 나는 웅변적인 모델에 주어진 배열을 다시 선언하는 방법에 고심하고있다.Laravel 웅변 모델에 의해 주어진 배열을 재현합니다.

PHP 코드

$data = Commission::select(['uploads_id'])->where([ 
      'affiliate_code' => $id 
     ])->get()->toArray(); 
     var_dump($data); 

위해서 var_dump 출력

array(3) { 
    [0]=> 
    array(1) { 
    ["uploads_id"]=> 
    string(2) "24" 
    } 
    [1]=> 
    array(1) { 
    ["uploads_id"]=> 
    string(2) "26" 
    } 
    [2]=> 
    array(1) { 
    ["uploads_id"]=> 
    string(2) "27" 
    } 
} 

내가 $data은 다음과 같이 재 선언되어야합니다.

$data = [24 , 25 , 26] 

거기에는 방법이 다른가요?

+0

get 메소드의 필드를 배열로 전달해보십시오. – Shubhamoy

+0

@ShubhamoyChakrabarty 출력은 여전히 ​​동일합니다 – Jefsama

+0

foreach 문을 사용하여 새 배열을 빌드 – Shubhamoy

답변

1

Laravel Builder Object에서 get() 메서드를 호출하면 Collection 객체가 반환됩니다. PHP 배열을 사용하여 손을 더러워지는 대신에 사용할 수있는 훌륭한 헬퍼가 너무 많습니다. 참조 here을 찾을 수 있습니다. 시나리오에서

이, 이것은

Commission::select(['uploads_id'])->where([ 
    'affiliate_id' => $id 
])->get()->pluck('uploads_id'); 

로 뽑는다()에 의해 수행 될 수 있습니다 컬렉션 방법이며 문서는 here을 발견 할 수 있습니다. -> all() 또는 -> toArray()를 사용하여 PHP 배열에 캐스트해야합니다. Laravel의 Collection에 익숙하면 유용합니다.

행운을 빈다.

+0

와우! 이것이 내가 원하는거야. 고마워요! – Jefsama

1

시도해 볼 수 있습니다.

$data = Commission::select(['uploads_id']) 
      ->where(['affiliate_code' => $id]) 
      ->lists('uploads_id') 
      ->toArray(); 


print_r($data);