【发布时间】:2014-11-13 20:48:17
【问题描述】:
我正在尝试使用 laravel 从 MySQL 数据库中获取单个值,但问题是我得到了一个数组。这是我在 MySQL 命令行中的查询结果:
select groupName from users;
+-----------+
| groupName |
+-----------+
| Admin |
+-----------+
我的 laravel 函数:
public static function PermitAddNewUser(){
$username=Session::get('key');
$data=DB::select("select groupName from users where username='$username';");
return $data;
}
预期的 $data 值为 value=Admin 的字符串
但我得到的是:[{"groupName":"Admin"}]
【问题讨论】:
-
这就是数据库的有趣之处,表由行和列组成,就像一个数组......
if (!empty($data)) { return $data[0]->groupName; } return null; -
现在你为什么要使用 Eloquent,而不是利用 ORM 的优势,而只是像没有 ORM 一样编写查询?
-
$data = DB::table('users')->where('username', $username)->pluck('groupName'); -
@MarkBaker 非常感谢你,它工作得很好,就像这样 return $data[0]->groupName;
-
@MarkBaker 是的,使用 ORM 的第二种方式也可以正常工作,你太棒了。