DB Query返回一个值Laravel

时间:2016-06-10 10:24:07

标签: mysql laravel laravel-5

我使用简单查询将用户拉入名为users的表中。

 $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中创建的,不使用Artisan Migrate

2 个答案:

答案 0 :(得分:1)

当然是这样,因为你从循环返回,使用echo

foreach ($users as $user)
{
    echo $user->email;
}
循环中的

return语句就像你的情况一样中断,这意味着打破循环。

答案 1 :(得分:-1)

您可以使用:

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

但是它的基础知识,您可以在文档https://laravel.com/docs/master/

中轻松找到这些内容