【问题标题】:Eloquent Relationship Laravel 5.4雄辩的关系 Laravel 5.4
【发布时间】:2017-05-25 04:31:46
【问题描述】:

我有如下三个表usersjobsjob_statuses,具有以下简单架构。

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

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

**Job_statuses Table**
id, status

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

用户模型

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}}

一个解释清楚的答案就可以了,谢谢。

【问题讨论】:

    标签: eloquent relationship laravel-5.4


    【解决方案1】:

    终于能如愿以偿了。

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

    工作模式

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

    工作状态模型

      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
    

    【讨论】:

      猜你喜欢
      • 2017-10-01
      • 2017-10-12
      • 2018-01-11
      • 2017-10-04
      • 2015-03-14
      • 2018-11-28
      • 2015-01-11
      • 2021-06-03
      • 2020-03-26
      相关资源
      最近更新 更多