雄辩的关系Laravel 5.4

时间:2017-05-25 04:31:46

标签: eloquent relationship laravel-5.4

我有以下三个表usersjobsjob_statuses,其中包含以下简单架构。

**Users Table** 
id, user_id, email, password

**Jobs Table** 
id, user_id, title, description, status_id

**Job_statuses Table**
id, status

我已使用Jobs成功检索到authorized user发布的one-to-many relationship列表,但我无法使用status抓住status_id }

用户模型

public function job(){
    return $this->hasMany(Job::class, 'user_id')->take(5);
}

工作模式

 public function user() {
    return $this->belongsTo(User::class, 'user_id');
}

public function jabstatus() {
    return $this->hasOne(JabStatus::class, 'status_id', 'id');
}

Job_Statuses模型

public function statuses() {
    return $this->belongsTo(Job::class, 'id', 'status_id');
}

尝试做类似的事情时

@foreach($user->job as $job)
    {{$job->statuses->status}}
@endforeach

我收到了错误:{{$job->statuses->status}}

答案很清楚,谢谢。

1 个答案:

答案 0 :(得分:0)

最后能够得到我想要的东西。

我所拥有的是多重雄辩的关系。

工作模式

public function jobstatus() {
    return $this->hasOne(JobStatus::class, 'id');
}

JobStatus模型

  public function status() {
    return $this->belongsTo(Job::class);
}

然后:

$user = User::with(['profile', 'review', 'job.jobstatus'])->find(Auth::User()->user_id);

    return view('user.dashboard', ['user' => $user]);

然后在我的观点上:

@foreach(@$user->job as $job)
 {{$jab->jobstatus->status}}
@endforeach