【问题标题】:Laravel relationships foreach loopLaravel 关系 foreach 循环
【发布时间】:2016-02-18 20:58:21
【问题描述】:

您好,我有一个用户模型和一个任务模型,每个用户可以有许多任务,因此我创建了一个具有任务 hasMany 关系的用户模型。但是,当我尝试从用户模型中获取任务结果时,我最终会遇到错误,我可以避免此错误的唯一方法是遍历用户模型和用户->任务,但我不能有 2 个循环在我的页面,因为这会搞砸 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**

请告诉我是否可以为你们提供其他任何东西。谢谢!

【问题讨论】:

    标签: php html laravel


    【解决方案1】:

    您尝试从所有任务列表中访问属性user_id,因此您应该编写一个遍历所有任务的循环,或者访问单个任务,例如$user-&gt;tasks-&gt;first()-&gt;user_id.

    【讨论】:

    • 感谢您的回答。我真的没有其他方法可以获取任务模型的表格然后循环吗?
    • 我不确定您所说的“任务模型表”是什么意思
    • 我的错误我现在看到我不清楚我的意思是我的任务数据库中的行,例如 user_id
    • 正如我所说,您要么需要编写循环,要么直接访问一项任务。我没有看到其他方式。
    猜你喜欢
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    相关资源
    最近更新 更多