hasMany的底层唯一性验证



我需要在更新之前用规则唯一地验证子列表的所有代码,我知道如何为父列表做这件事:

$parent = Parent::find($id);
$childrens = $parent->childrens;
'code' => ['required', Rule::unique('parents', 'code')->ignore($parent->id)],        
'childrens.*.code' => ['required', Rule::unique('childrens', 'code')],

有任何简单的方法来获得孩子的当前id忽略他们就像我在父母吗?或者有什么想法允许更新子节点吗?

update中hasMany关系的解决方案为:

for ($i = 0; $i < $childrens->count(); $i++) {
$rules['childrens.' . $i . '.code'] = ['required', Rule::unique('childrens', 'code')->ignore($childrens[$i]['id'])];
}