2017-08-21 11 views
0

私はtw-tierネストされたhasOne関係を持ち、最終的な関係はnull値を与えているようです。Laravel - ネストされた関係がnullを示します

マイJobApplication関係は次のようにあります。

<?php 

namespace App\Model; 

use Illuminate\Database\Eloquent\Model; 

class JobApplication extends Model 
{ 
    protected $table = 'job_applications'; 
    protected $primaryKey = 'job_application_id'; 

    public function jobrequest() 
    { 
     return $this->hasOne('App\Model\JobRequest', 'job_request_id', 'job_request_id'); 
    } 
} 

マイJobRequestモデルは次のようにあります。

<?php 

namespace App\Model; 

use Illuminate\Database\Eloquent\Model; 

class JobRequest extends Model 
{ 
    protected $table = 'job_requests'; 
    protected $primaryKey = 'job_request_id'; 

    public function jobgroup() 
    { 
     return $this->hasOne('App\Model\JobGroup', 'job_group_code', 'job_group_code'); 
    } 

    public function jobapplication() 
    { 
     return $this->belongsTo('App\Model\JobApplication', 'job_request_id'); 
    } 
} 

そして、私のJobGroupは以下があります。

<?php 

namespace App\Model; 
use Carbon; 

use Illuminate\Database\Eloquent\Model; 

class JobGroup extends Model 
{ 
    protected $table = 'job_groups'; 
    protected $primaryKey = 'job_group_code'; 

    public function jobrequest() 
    { 
     return $this->belongsTo('App\Model\JobRequest', 'job_group_code'); 
    } 
} 

私はそれらにアクセス私のコントローラはそうです:

$job_applications = JobApplication::with(['jobrequest', 'jobrequest.jobgroup']) 
     ->where('user_id', Auth::id()) 
     ->first(); 

それは右Debugbarに照会(はいjob_groupsのためのクエリがデータを提供します)が、私は$job_applicationsをダンプしたとき、jobgroupがnull

enter image description here

答えて

0

いけない熱心な負荷にそれを必要と示しています。私はそれのようにアクセスすることができます

$job_applications = JobApplication::with('jobrequest')->where('user_id', Auth::id())->first(); 
dd($job_applications->jobrequest->jobgroup); 
関連する問題