每个循环的Laravel关系


Laravel relationships foreach loop

你好,我有一个用户模型和一个任务模型,每个用户可以有很多任务,因此我创建了具有任务hasMany关系的用户模型。但是,当我试图从我最终得到的用户模型中获得任务结果并出错时,我唯一能避免这个错误的方法是通过循环用户模型和用户->任务,但我的页面上不能有两个循环,因为这会把html搞砸,所以我需要在一个foreach中从用户模型和任务模型中获得所有结果,这可能吗?以下代码:

模型用户的重要部分:

protected $table = 'users';
protected $hidden = ['password', 'remember_token'];
protected $fillable = ['email', 'password', 'firstname', 'lastname', 'image'];
protected $dates = ['deleted_at'];
protected $appends = ['name'];
protected $metaModel = UserMeta::class;
public function tasks(){
    return $this->hasMany(UserTask::class);
}

模型任务的重要部分:

protected $table = 'user_task';
public function user(){
    return $this->belongsTo(User::class);
}

任务控制器的重要部分:

 public function index()
{
    $getUsers = User::all();
    $projects = Project::all();
    $today = Carbon::today('Europe/London');
    $week = Carbon::createFromFormat('Y-m-d H:i:s', $today)->format('W');
    return view('calender.employee-availability',compact('getUsers','week','projects'));
}   

视图的重要部分:

 @foreach($getUsers as $user)
      <div class="user-calender">
          <div class="user-info">
            <p>{{ $user->firstname." ".$user->lastname }}</p>
          </div>
          <div class="days">
              <li>M</li>
              <li>T</li>
              <li>O</li>
              <li>T</li>
              <li>F</li>
          </div>
          <div class="hours hour-1">
            <p>{{ $user->tasks->user_id }}</p> **Error is here**

请告诉我我是否能为你们提供其他东西。谢谢

您试图从所有任务的列表中访问属性user_id,因此您应该在所有任务上写一个循环,或者访问单个任务,例如$user->tasks->first()->user_id