У меня есть 4 модели: пользователь, профиль, аудит и приложения аудита.
Структура моей таблицы выглядит примерно так:
User
- id
- ... other user-related fields
Profile
- id
- user_id
- ... various profile fields
Audit
- id
- user_id
AuditApplications
- id
- audit_id
- user_id
Моя модель пользователя выглядит следующим образом:
public function profile()
{
return $this->hasOne('App\Profile');
}
public function auditApplications()
{
return $this->hasMany('App\AuditApplications');
}
Таким образом, я могу легко получить пользователя и связанный с ним профиль, а также список проверок, к которым обратился пользователь.
Далее у меня есть таблица AuditApplications, в которой содержится список идентификаторов пользователей и идентификаторов аудита: пользователи, обратившиеся за аудитом. Моя таблица AuditApplications имеет следующие отношения:
public function user()
{
return $this->belongsTo('App\User');
}
Таким образом, я могу вернуть список пользователей, которые подали заявки на аудит следующим образом:
$applicants = AuditApplications::where('audit_id', $audit->id)->with('user')->get();
Все это работает хорошо, как и ожидалось, но теперь я хочу получить доступ к профилю пользователя, когда получаю список приложений. Это отношение на расстоянии, поэтому я хочу получить список пользователей и их профилей в модели AuditApplications.
Есть ли способ сделать это в Eloquent без создания al oop в моем контроллере, чтобы затем oop для каждого пользователя, получающего свои профили индивидуально?