【发布时间】:2020-05-08 06:52:16
【问题描述】:
我已经对这个问题进行了很多搜索,但找不到“正确”的答案。 我正在尝试通过自动更新关系来插入/更新数据库条目(据我所知,这在一次调用中是不可能的)。
所以第一个问题:
- 这是正确的方法吗
- 是否可以更新人员中的相关地址(记录)->创建/保存呼叫种类..
->save([
'persondata',
'address' => [
'zip' => 'xxxx',
'nr' => 1
]
];
我的现状
数据库布局:
表:人员: 身份证|姓名
表:地址: id|zip|nr|addressable_id|addressable_type
型号:
人:
public function address()
{
return $this->morphOne('App\Addresses', 'addressable');
}
地址:
public function addressable()
{
return $this->morphTo();
}
控制器 人:
store()
{
$validated = request()->validate([
'name' => 'required',
'address.zip' => 'required',
'address.nr' => 'required'
]);
$person = Person::create($validated);
$address = new Addresses(request()->input('address'));
$address->addressable()->associate($person);
$address->save();
}
update(Person $person)
{
$validated = request()->validate([
'name' => 'required',
'address.zip' => 'required',
'address.nr' => 'required'
]);
$person->update($validated);
$person->address->update(request()->input('address'));
}
【问题讨论】:
标签: laravel eloquent polymorphism