我一直在花很多时间寻找它。
我是Laravel的新手,(来自CodeIgniter),除非有必要,否则我会尝试使用Laravel的方法来代替在任何地方使用纯php / sql。
/lib/../lib64/crt1.o
/lib/../lib64/crti.o
/opt/rh/devtoolset-8/root/usr/lib/gcc/x86_64-redhat-linux/8/crtbegin.o
/tmp/ccdlEH9g.o # -- that's the assembler output for your file. If you want sane names, supply `-save-temps` to gcc.
/opt/rh/devtoolset-8/root/usr/lib/gcc/x86_64-redhat-linux/8/crtend.o
/lib/../lib64/crtn.o
我正在尝试获取$ role_id。
var_dump给了我这个。
$role_id = Role::select('role_id')
->where('type','Admin')
->get();
var_dump($role_id);
我只希望有一个mysql结果行,而不是这个。
我正在寻找的只是这个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) "*" } } } }
。
我缺少直接获取此功能的函数,但无法从文档中找到它。
["role_id"]=> int(99)
给了我找不到的财产。
答案 0 :(得分:1)
您有带有get方法的项目。这就是无法访问role_id的原因。
如果要记录一条记录,则可以使用first而不是get方法。
您可以使用dd()函数。
$role_id = Role::select('role_id')
->where('type','Admin')
->first();
dd($role_id);
答案 1 :(得分:0)
您可以这样做:
$role_id = Role::all(['role_id'])->where('type','Admin')->first(); or Role::where('type', 'Admin');
Instead of var_dump you can use dd($role_id) or var_dump($role_id), it dies and dumps at the same time .
答案 2 :(得分:0)
使用->first()
代替->get()
。
get()
返回收集。
答案 3 :(得分:0)
这是正确的方法。
$response = Role::select('role_id')
->where('type','Admin')
->first();
$admin_id = $response->role_id;