【发布时间】:2017-05-01 18:13:04
【问题描述】:
我正在尝试显示已登录的用户个人资料信息,我有两个表,一个是消息,另一个是用户,当用户登录时,它会看到他\她的个人资料,但是有一个错误。
profile.blade:
<table class="table table-bordered">
<thead>
<tr>
<th>
Name
</th>
<th>
Email
</th>
</tr>
</thead>
<tbody>
@foreach($users as $usr)
<tr>
<td>
{{$usr->name}}
</td>
<td>
{{$usr->email}}
</td>
</tr>
@endforeach
</tbody>
控制器:
public function GetUserInfo($id){
$user = DB::table('users')
->join('messages', 'messages.user_id', '=', 'users.id')
->where('users.id', '=', $id)
->get();
if($user->count()){
$user = $user->first();
return view('profile')->with('users',$user);
}
}
型号:
class Messages extends Model
{
protected $table = 'messages';
protected $fillable = [
'message','user_id'
];
public function user()
{
return $this->hasOne('App\User', 'id', 'user_id');
}
}
【问题讨论】:
-
刀片文件中的
$users不应该是@foreach循环头部的$user吗? -
您的代码和问题陈述没有传达您的要求!!你能解释一下你想用它做什么吗!!!所以我可以建议你一个更好的方法来做到这一点。
-
用户(id)的主键是消息(user_id)中的外键,消息的一个控制器我通过关系和连接从用户表中获取用户信息。