Мне нужно получить пользователя с соответствующим профилем, но в случае, если поле профиля ниже нуля:
Route::get('/user', function (Request $request) {
return $request->user()->load('profile'); // { id: 1, ... profile: null }
});
Но в этом случае поле профиля заполнено:
Route::get('/user', function (Request $request) {
$user = $request->user();
$profile = $user->profile;
return $user; // { id: 1, ... profile: { name: 'alex', ... } }
});
Как вы можете объяснить это поведение и как правильно загрузить Профиль в моем случае?
Отношения:
public function user(){
return $this->belongsTo('App\Models\User');
}
public function profile(){
return $this->role == 'model' ? $this->hasOne('App\Models\Model\Profile') : $this->hasOne('App\Models\Client\Profile');
}