2016-11-08 74 views
3

這裏是我的代碼:如何選擇表格的某些列?

$arr = Users::all()->toArray(); 

它返回所有表列的一個陣列。但我不需要所有的專欄。我只需要返回這些列:'id', 'name', 'email', 'age'。我搜索有關,我想通了這一點:(使用pluck()功能)

$arr = Users::pluck('id', 'name', 'email', 'age')->toArray(); 

但它不會返回預期的結果。它返回:

array:7 [▼ 
    "John" => 1 
    "Peter" => 2 
    "Jack" => 3 
    "Ali" => 4 
    "Teresco" => 5 
    "Mark" => 6 
    "Barman" => 7 
] 

正如你看到的,沒有emailage列。我該如何解決它?

+1

你可以嘗試這樣的:'$ ARR =用戶: :get(array('columns'....));' –

+1

@SI是的,它的工作..我測試它..謝謝 –

回答

0

你可以收集列的排列在get()這個樣子做:

$arr = Users::get(array('id', 'name', 'email', 'age'))->toArray(); 
+1

是的,我忘了它。謝謝 :) –

0

試試這個:

Users::with(array('user'=>function($query){ 
     $query->select('id','username'); 
    }))->get(); 

它只會從其他表中選擇ID和用戶名。我希望這會幫助其他人。

+0

'toArray()'在哪裏? –

+0

http://stackoverflow.com/a/19921418/1158599 –

+1

@ S.I。哈......你有非常棒的技能''-P' –

3

可以使用select方法就是這樣,

Users::select('id', 'name', 'email', 'age') 
     ->get() 
     ->toArray(); 
相關問題