두 가지 모델 'User'와 'Profile'이 있습니다.Laravel - OneToOne 관계 업데이트
'이메일'필드는 사용자 모델에있는 반면 '이름'필드는 프로필 모델에 있습니다.
'프로필'테이블에 'user_id'외래 키가 있습니다.
많은 검색을했지만 한 번에 이러한 항목을 모두 업데이트 할 수있는 방법에 대한 적절한 해결책을 찾지 못했습니다.
내 ProfileController에서이 작업을 수행하고 있지만 더 나은 방법이 있다고 확신합니다. 도와주세요.
public function update($id)
{
$profile = Profile::where('id', $id);
$profile->name = 'Jon';
$profile->save();
$user = User::where('id', $profile->user_id);
$user->email = '[email protected]';
$user->save();
}
내 프로필 모델은
public function user()
{
return $this->belongsTo('User');
}
을 가지고 그리고 내 사용자 모델은
public function profile()
{
return $this->hasOne('Profile');
}
그럼 데이터베이스 트리거를 사용할 수 있습니다. –
프로필에 사용자와 hasOne 관계가 있고 이미 프로필을 찾은 경우 $ profile-> user로 사용자를 가져올 수 있습니다. 어떤 점에서 다른 SQL 쿼리를 저장합니다. – Adimeus
또 다른 것은 일대일 관계가 별개의 테이블에 있다는 것은별로 의미가 없다는 것입니다. –