为了账号安全,请及时绑定邮箱和手机立即绑定

如何在控制器中从 MySQL 访问数据属性

如何在控制器中从 MySQL 访问数据属性

PHP
慕斯王 2021-11-13 15:51:50
我在学习 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) 未定义索引:用户名
查看完整描述

3 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

使用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'));


查看完整回答
反对 回复 2021-11-13
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

$users是用户的集合。所以你不能访问像这样的用户的属性$users['id']

如果你想从数据库中获取一个用户对象,你需要调用first()而不是get()

可能的解决方案

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


查看完整回答
反对 回复 2021-11-13
?
holdtom

TA贡献1805条经验 获得超10个赞

您可以使用 firstOrFail();


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


$result = array([

    'id' => $users->id,

    'username' => $users->username,

    'uuid' => $users->uuid,

]);


return view ('dashboard')->with('username', compact('username'));


查看完整回答
反对 回复 2021-11-13
  • 3 回答
  • 0 关注
  • 141 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信