首页 > 解决方案 > 如何在 Controller 中从 MySQL 访问数据属性

问题描述

我学习 laravel 框架,我不知道如何访问控制器中的属性。

public function uuid(Request $request)
{
    if($request->get('uuid') == null) return abort(404);
    $uuid = $request->get('uuid');
    $users = DB::table('users')->select('*')->where('uuid', $uuid)->get();

    $result = array([
        'id' => $users['id'],
        'username' => $users['username'],
        'uuid' => $users['uuid'],
    ]);

    return view ('dashboard')->with('username', $result['username']);
}

在我的dashboard.blade.php

{{$username}}

当我来到仪表板时,它显示这样的错误

ErrorException (E_NOTICE) 未定义索引:用户名

标签: phpmysqllaravel

解决方案


使用First()而不是get()你会得到对象,所以访问数据之类的。

$users = DB::table('users')->select('*')->where('uuid', $uuid)->first();

$result = array([
    'id' => $users->id,
    'username' => $users->username,
    'uuid' => $users->uuid,
]);

return view ('dashboard')->with('username', $result['username']);

现在整理一下。

 $user = DB::table('users')->select('*')->where('uuid', $uuid)->first();
 $username = '';
 if(!empty($user)){
    $username = $user->username 
 }

return view ('dashboard',compact('username'));

推荐阅读