我正在尝试从我的个人资料页面的用户表中获取一些数据。但是,当我单击个人资料页面时,它给了我一些错误:
此集合实例上不存在属性[name]。
问题出在哪里?我做错了还是缺少一些代码?
用户模型
fetching
控制器
var teamname = "";
// onclick of 'a' event
$(document).on('click', 'a', function() {
//getting id value i.e: your teamname
var teamname = $(this).attr('id');
//getting fmonth value on change event
$('#Fmonth').change(function() {
var Fmonth = $('#Fmonth').val();
alert(Fmonth);
alert(teamname);
if (teamname != '') {
$.ajax({
type: 'post',
url: 'read_gable.php',
data: {
'month': Fmonth,
'team': teamname //<-passing team value
},
success: function(data) {
$("#containerDiv").html(data)
$("#containerDiv").hide().fadeIn(500)
//alert(Fmonth);
},
error: function(data) {
alert('Failed');
}
});
}
});
});
查看
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');
}
在视图部分中,我只是做一些测试以从users表中获取简单数据。
我很沮丧地为我的问题找到解决方案。我已经在网络上搜索并尝试了很多解决方案,但是没有任何效果。我对laravel还是很陌生,非常感谢您的帮助。
答案 0 :(得分:3)
用于控制
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
答案 1 :(得分:0)
您正在尝试访问不正确的数组上的属性
您应该先foreach
然后访问您的媒体资源
@foreach($users as $user)
<h3>{{ $user->name }}</h3>
@endforeach
修改
当您使用user::all
或user::get()
时,它等效于select * from users
的SQL语法,而laravel将为您提供collection
的实例而不是数组,因此当您调用user::all()
时您会得到一个集合实例,其中包含user
个实例数组,这是该实例的
Collection {#332 ▼
#items: array:3 [▼
0 => User {#333 ▶}
1 => User {#334 ▶}
2 => User {#335 ▶}
]
}
有关更多信息,请阅读Laravel Collection
答案 2 :(得分:0)
使用此:
public function index()
{
$users = User::get();
return view('users.profile')->with('users',$users);
}
并且对于此控制器,您必须在刀片中使用@foreach来显示用户列表,如下所示:
@foreach($users as $user)
<h3>{{$user->name}}</h3>
@endforeach
以及以下功能:
public function show($id)
{
$user = User::where('id', $id)->first();
return view('users.profile')->with('user',$user);
}
对于此视图:
<h3>{{$user->name}}</h3>
答案 3 :(得分:0)
实际上我想问另一个问题,当我使用foreach时,它将在我的用户表中显示所有数据。是否只能获取一个特定数据?我的意思是我只想获取一个人的数据,而不是全部数据。