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

Laravel:此集合实例上不存在属性 [名称]

Laravel:此集合实例上不存在属性 [名称]

PHP
潇湘沐 2021-09-18 10:45:28
我正在尝试从我的用户表中获取一些数据,用于我的个人资料页面。但是当我点击个人资料页面时,它给了我一些错误:此集合实例上不存在属性 [名称]。问题出在哪儿?我做错了还是缺少一些代码?用户模型protected $fillable = [    'name', 'email', 'password', 'nim', 'phone_number', 'department'];protected $hidden = [    'password', 'remember_token',];public function dropcv(){    return $this->hasMany('App\Dropcv');}public function registration(){    return $this->hasMany('App\Registration');}控制器public function index(){    $users = User::all();    return view('users.profile')->with('users',$users);}public function show($id){    $users = User::find($id);    return view('users.profile')->with('users',$users);}看法<h3>{{$users->name}}</h3>在视图部分,我只是做一些测试来从用户表中获取简单的数据。我很沮丧为我的问题找到解决方案。我在网上搜索并尝试了很多解决方案,但没有任何效果。我对 Laravel 有点陌生,非常感谢一些帮助。
查看完整描述

3 回答

?
qq_花开花谢_0

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

用于控制器


public function show($id){

$users = User::find($id);

return view('users.profile',compact('users'));

}

用于查看页面


<h3>$users->name</h3>

用于控制器


public function index(){

$users = User::all();

return view('users.profile',compact('users'));

}

您正在尝试访问不正确的数组上的属性,您应该先 foreach 然后访问您的属性


@foreach($users as $user)

<h3>{{ $user->name }}</h3>

@endforeach


查看完整回答
反对 回复 2021-09-18
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

您正在尝试访问不正确的数组上的属性,

您应该foreach首先访问您的属性


@foreach($users as $user)

    <h3>{{ $user->name }}</h3>

@endforeach

编辑

当您使用user::all或user::get()它等效于select * from userssql 语法时,laravel 将为您提供一个实例collection而不是数组,因此当您调用时,您将user::all()获得一个包含实例数组的集合user实例,这是一个示例


Collection {#332 ▼

  #items: array:3 [▼

    0 => User {#333 ▶}

    1 => User {#334 ▶}

    2 => User {#335 ▶}

  ]

}

更多信息请阅读Laravel Collection


查看完整回答
反对 回复 2021-09-18
  • 3 回答
  • 0 关注
  • 203 浏览

添加回答

举报

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