如何从雄辩的模型类中获取名称到我的观点

时间:2019-04-06 06:13:04

标签: laravel eloquent

我正在尝试使用以下代码获取用户名,但出现错误。请帮忙。错误是

“试图获取非对象的属性“名称”(查看:/var/www/html/laravel/imarker/resources/views/student/exams/available.blade.php)”

@foreach($availableExams as $exam)
     @foreach($exam->user as $user)
           {{($user->name)}}
     @endforeach
    @endforeach

考试模型

 public function user(){
    return $this->belongsTo('App\User');
}

用户模型

public function exams(){
    return $this->hasMany('App\Exam');
}

控制器

public function availableExams(){
    $users = User::all();
    $availableExams = Exam::all();
    return 
view('student/exams/available',compact('availableExams', 'users'));
   }

3 个答案:

答案 0 :(得分:1)

每个Exam有一个User,那个User有名字吗?试试这个:

@foreach($availableExams as $exam)
    {{$exam->user->name }}
@endforeach

答案 1 :(得分:0)

知道了。一位用户不见了。使用if语句检查对象是否存在可以解决该问题。使用2个箭头可能会发现一个空的项目/对象,这会引起问题,因此需要使用condition子句。谢谢你们。

@foreach($availableExams as $exam)
    {{$exam->user->name ?? 'No tutor found'}} 
 @endforeach

答案 2 :(得分:0)

更新刀片文件。

...
switchMap(ids => from(ids).pipe(
  concatMap(id => forkJoin(
    this.apiService.getName(id),
    this.apiService.getAge(id),
  )),
  toArray(),
)),