Laravel - Comment charger un hasone relation sur un hasmany rapport

Je suis en train de charger un hasone relation chargé hasmany relation.

En gros, j'ai chargé mon achèvement des journaux, mais tient également à la charge de l'pool_section modèle de rapport pour chacun des chargés d'achèvement des enregistrements de journal.

$appointments = Appointment::primaryAppointments()->ofReportingPeriod($reportingPeriod->id)->take(5)->get();

$appointments = $appointments->load('profile', 'department')->load(['completion_logs' => function ($query) use ($reportingPeriod) {
    $query->where('reporting_period_id', $reportingPeriod->id)->whereNotNull('pool_section_id')->orderBy('pool_section_id');
}]);

Essayez de charger le pool_section rapport sur l'chargé de l'achèvement des journaux à partir de ci-dessus:

class PoolSectionCompletion extends Model

public function pool_section()
{
     return $this->belongsTo('App\Models\PoolSection', 'pool_section_id', 'id');
}

class Appointment extends Model

public function completion_logs()
{
     return $this->hasManyThrough('App\Models\PoolSectionCompletion', 'App\Models\Profile', 'id', 'profile_id', 'profile_id', 'id');
}

Je suis en train de charger le sélectionner l'achèvement des journaux, puis charger le pool_section relation basée sur la pièce d'identité afin d'obtenir le pool_section de données pour chacun des chargés d'achèvement des journaux. Toute aide est appréciée.

enter image description here

Il semble que si j'ajoute le lien ci-dessous-c'est la cartographie correctement, mais apportant toutes l'achèvement des journaux pour chaque période de déclaration, pas seulement celle qui est définie par la route. J'ai besoin de l'achèvement des journaux pour la période de reporting définie, mais avec le mappé hasone rapport à la pool_section.

$appointments = $appointments->load('profile', 'department')->load(['completion_logs' => function ($query) use ($reportingPeriod) {
    $query->where('reporting_period_id', $reportingPeriod->id)->whereNotNull('pool_section_id')->orderBy('pool_section_id');
}])->load('completion_logs.pool_section');
+1
2019-09-17 18:03:15
source
0 réponses

Voir d'autres questions sur les étiquettes