Ich habe eine geschachtelte hasOne-Beziehung in zwei Ebenen und die endgültige Beziehung scheint Nullwerte zu geben.Laravel - geschachtelte Beziehung zeigt null
Meine JobApplication Beziehung hat folgende:
<?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');
}
}
Mein JobRequest Modell hat die folgenden:
<?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');
}
}
Und mein JobGroup hat folgendes:
<?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');
}
}
ich auf sie in mein Controller wie folgt:
$job_applications = JobApplication::with(['jobrequest', 'jobrequest.jobgroup'])
->where('user_id', Auth::id())
->first();
Es fragt direkt am DebugBar (und ja die Abfrage für job_groups gibt Daten aus), aber wenn ich $job_applications
abgeladen, jobgroup zeigt null