Laravel SQL查询中获取一行first,一列list,某
2019-10-07 本文已影响0人
枫林雨落
1、如果想要从表中获取一行,可以使用first方法(一般默认是数据库中查找到的第一条),该方法将返回一个对象:
$user = DB::table('users')->where('name', '胡一菲')->first();
echo $user->name;
如果不需要完整的一行,可以用value方法获取单个值
$address = DB::table('users')->where('name', '胡一菲')->value('address');
2、获取某一属性值的列表,可以使用lists/pluck方法
$role = DB::table('users')->lists('name');
$titles = DB::table('roles')->pluck('title');
foreach ($titles as $title) {
echo $title;
}
该方法将返回users表中name字段值的数组,也可通过第二个参数为返回的数组指定自定义键值(该自定义键必须是该表的其它字段列名,否则会报错。示例如3)
$role = DB::table('users')->lists('name','姓名');
$roles = DB::table('roles')->pluck('title', 'name');
foreach ($roles as $name => $title) {
echo $title;
}
3、获取单一数据列的单一字段pluck
$name = DB::table('users')->where('name', '胡一菲')->pluck('name');
pluck()方法为给定键值获取所有集合值
示例(如果存在重复键,最后一个匹配的元素将会插入集合)