Родительская таблица
users
schema | 'id','email','pass'
Отношение
public function profile()
{
return $this->hasOne('App\Profile','user_id');
}
Другой стол
profiles
schema | 'id','user_id'/*foreign key to users table */ ,'address','city'
Отношение
public function user()
{
return $this->belongsTo('App\User','id');
}
Я запрашиваю модель Profile
и хочу, чтобы она загружалась с моделью User
.
public function edit($id){
$profile = \App\Profile::with('user')->where('id','=',$id)->get();
dd($profile);
}
Так что я могу загрузить профиль пользователя для редактирования вместе с подробными данными из модели User
, например, email
& pass
и т. Д.
Это возвращает нулевое отношение для user
??
Кроме того, в клинке при доступе $profile->user->email
возникает ошибка
Неопределенное свойство: Illuminate \ Database \ Eloquent \ Collection :: $ user (Вид: C: \ xampp \ htdocs \ laravel1 \ resources \ views \ profile \ edit.blade.php)
Вот результат dd()
http://bit.ly/1dA0R5p
Он возвращает null с отношением user
, которое, как я подозреваю, вызывает undefined property
error в лезвии.
Возможен ли такой подход? Мои отношения правильные?
P.S. Раньше у меня был обратный случай при запросе модели User
и модели нетерпеливой загрузки Profile
, и это сработало.
Snippet
$users = \App\User::with('group','profile')->get(); //This was working