(1)获取结果集
最后更新于:2022-04-02 01:42:32
[TOC]
## 获取所有行:`DB` facade 的 `get` 方法
`get` 方法可以获取表中所有记录:
~~~php
get();
return view('user.index', ['users' => $users]);
}
}
~~~
`get` 方法会返回一个 `Illuminate\Support\Collection` 结果集,其中每个结果都是一个 PHP 的`StdClass` 对象实例。可以像访问对象的属性一样访问字段的值:
~~~php
foreach ($users as $user) {
echo $user->name;
}
~~~
## 获取单个行或列:`DB` facade 的 `first` 或 `value` 方法
`first` 方法只从数据表中获取一行数据 ,返回单个 `StdClass` 对象:
~~~php
$user = DB::table('users')->where('name', 'John')->first();
echo $user->name;
~~~
`value` 方法来从单条记录中取出单个值。此方法将直接返回字段的值:
~~~php
$email = DB::table('users')->where('name', 'John')->value('email');
~~~
## 获取一列的值:`DB` facade 的 `pluck` 方法
`pluck` 方法获取一个包含单个字段值的集合 。在下面的例子中,我们将取出 `roles` 表中 `title` 字段的集合:
~~~php
$titles = DB::table('roles')->pluck('title');
foreach ($titles as $title) {
echo $title;
}
~~~
还可以在返回数组中为列值指定自定义键(该自定义键必须是该表的其它字段列名,否则会报错):
~~~php
$roles = DB::table('roles')->pluck('title', 'name');
foreach ($roles as $name => $title) {
echo $title;
}
~~~
';