我正在尝试在数据数组上添加一个唯一规则,并希望在更新同一记录时忽略给定id的唯一规则。
创建新记录时,我使用的是
之类的规则$rules = [
'provider.*.link' => 'required|url|unique:providers,link',
];
我的数据数组看起来像
[provider] => [
[0] =>[
[link] => http://mysite.local/1
[1] =>[
[link] => http://mysite.local/1
]
工作正常。但是,当更新相同的数据时,我无法弄清楚如何忽略对其各自ID的唯一规则。
当没有像
这样的数组时,我知道怎么做'link' => 'required|email|unique:providers,link,' . $id,
但不确定数据是数组时如何使用它。
我的更新数据数组看起来像
[provider] =>
[
[0] =>
[
[id] => 3
[link] => http://mysite.local/1
]
[1] =>
[
[id] => 4
[link] => http://mysite.local/1
]
]
我正在使用流明并使用相同的功能来创建和更新记录。 有没有办法实现这个目标?
答案 0 :(得分:3)
你可以这样做:
$rules = [
....
];
$providers = request('provider');
for ($i = 0; $i < count($providers); $i++) {
$rules['provider.' . $i . '.link'] = 'required|url|unique:providers,link,' . $providers[$i]['id'];
}
return $rules;