我花了几个小时寻找这个。我对 Laravel 非常陌生(来自 CodeIgniter),我正在尝试以 Laravel 的方式做所有事情,而不是在任何地方使用纯 php/sql,除非非常必要。$role_id = Role::select('role_id')
->where('type','Admin')
->get();
var_dump($role_id);我正在尝试获取 $role_id。var_dump 给了我这个。object(Illuminate\Database\Eloquent\Collection)#249 (1) { ["items":protected]=> array(1) { [0]=> object(App\Role)#252 (26) { ["connection":protected]=> string(5) "mysql" ["table":protected]=> string(5) "roles" ["primaryKey":protected]=> string(2) "id" ["keyType":protected]=> string(3) "int" ["incrementing"]=> bool(true) ["with":protected]=> array(0) { } ["withCount":protected]=> array(0) { } ["perPage":protected]=> int(15) ["exists"]=> bool(true) ["wasRecentlyCreated"]=> bool(false) ["attributes":protected]=> array(1) { ["role_id"]=> int(99) } ["original":protected]=> array(1) { ["role_id"]=> int(99) } ["changes":protected]=> array(0) { } ["casts":protected]=> array(0) { } ["dates":protected]=> array(0) { } ["dateFormat":protected]=> NULL ["appends":protected]=> array(0) { } ["dispatchesEvents":protected]=> array(0) { } ["observables":protected]=> array(0) { } ["relations":protected]=> array(0) { } ["touches":protected]=> array(0) { } ["timestamps"]=> bool(true) ["hidden":protected]=> array(0) { } ["visible":protected]=> array(0) { } ["fillable":protected]=> array(0) { } ["guarded":protected]=> array(1) { [0]=> string(1) "*" } } } }我期望只有一个 mysql 结果行而不是这个。我正在寻找的就是这个["role_id"]=> int(99)。我缺少一个直接获取它的函数,我无法从文档中找到它。$role_id->role_id 给我找不到财产。
3 回答

RISEBY
TA贡献1856条经验 获得超5个赞
您有带有 get 方法的项目。这就是无法访问role_id 的原因。
如果你想要一个记录,你可以使用 first 而不是 get 方法。
你可以使用 dd() 函数。
$role_id = Role::select('role_id') ->where('type','Admin') ->first(); dd($role_id);

红颜莎娜
TA贡献1842条经验 获得超12个赞
这是正确的做法。
$response = Role::select('role_id')
->where('type','Admin')
->first();
$admin_id = $response->role_id;
- 3 回答
- 0 关注
- 201 浏览
添加回答
举报
0/150
提交
取消