Php Laravel:从表用户获取名称
我需要在用户表中获取名称字段 我在控制器中的方法:Php Laravel:从表用户获取名称,php,laravel,pluck,Php,Laravel,Pluck,我需要在用户表中获取名称字段 我在控制器中的方法: public function reviewsactivity() { $activity = Activity::orderBy('id', 'DESC')->paginate(); $users = User::orderBy('id', 'ASC')->pluck('id', 'name'); return view('reviews.reviewsactivity', compact('activit
public function reviewsactivity()
{
$activity = Activity::orderBy('id', 'DESC')->paginate();
$users = User::orderBy('id', 'ASC')->pluck('id', 'name');
return view('reviews.reviewsactivity', compact('activity', 'users'));
}
以及以下观点:
@foreach($activity as $actividad)
<tr>
<td>{{ $actividad->description }}</td>
<td>{{ $actividad->subject_type }}</td>
<td>{{ $actividad->user->name }}</td>
<td>{{ $actividad->causer_type }}</td>
<td>{{ date('d-m-Y', strtotime($actividad->created_at)) }}</td>
</tr>
@endforeach
假设您在
活动
表引用用户
表中有user\u id
,那么您可以在活动
模型中定义归属关系
活动模型
public function user(){
return $this->belongsTo(User::class, 'user_id');
}
现在使用with('user')
检查此处的快速加载文档您需要首先检查活动是否有附加用户:
<td>{{ !is_null($actividad->user)?$actividad->user->name:'' }}</td>
{{!是否为空($actividad->user)?$actividad->user->name:''}
否则,您试图从非对象null
获取属性name
,这就是您获取消息错误的原因。在Activity
和User
模型之间是否存在关系?请使用关系。如果每个活动都有一个用户,请使用belongsTo关系。
public function reviewsactivity()
{
$activity = Activity::with('user')->orderBy('id', 'DESC')->paginate();
$users = User::orderBy('id', 'ASC')->pluck('id', 'name');
return view('reviews.reviewsactivity', compact('activity', 'users'));
}
<td>{{ !is_null($actividad->user)?$actividad->user->name:'' }}</td>