2016-06-10 108 views
0

使用簡單的查詢來拉取名爲users的表中的用戶。DB返回一個值的查詢Laravel

$users = DB::table('users')->get(); 

然後使用foreach循環得到的值,例如:

foreach ($users as $user) 
    { 
     return $user->email; 
    } 

肯定是有2條記錄在數據庫表,但它只返回一行。如果我嘗試查詢不同的表,它會做同樣的事情。

如果我使用的查詢日誌查詢

DB::enableQueryLog(); 
$users = DB::table('users')->get(); 
$result = DB::getQueryLog(); 

之間它返回的查詢和它看起來罰款

[{"query":"select * from `users`","bindings":[],"time":0.85}] 

該表是內phpMyAdmin的創建,並沒有使用工匠遷移

回答

1

當然會這樣,因爲你從環路返回,使用內部echo

foreach ($users as $user) 
{ 
    echo $user->email; 
} 

return語句循環將表現得像你的情況,這意味着打破循環。

-1

您可以使用:

DB::table('users')->select(['email'])->get();DB::table('users')->get(['email']);

但它的基礎知識,你可以很容易地找到這個東西在文檔https://laravel.com/docs/master/

+0

怎麼了?在這種情況下最好使用查詢,然後循環。 – GONG