我正在努力学习laravel。 现在我有一个有效的表格。我可以创建,我可以更新数据。
但我有一个特例。我正在添加一个名字的数据。 我希望这个名字只能使用一次。因此我使用的是独特的功能。 当我创造新事物时,这工作正常。但是,当我更新数据,并且我不更改名称时,它会给我一个错误,因为名称存在(但它的条目相同)。
所以现在,我想验证是否采用了名称,但是如果id相同则可以更新。
我怎么能在laravel中做到这一点?
答案 0 :(得分:3)
如文档中所述,您可以使用Illuminate\Validation\Rule
类创建规则对象以与其他规则一起使用。 Rule
对象具有ignore()
方法:
use Illuminate\Validation\Rule;
Validator::make($data, [
'email' => [
'required',
Rule::unique('users')->ignore($user->id),
],
]);
请参阅"强制使用唯一规则忽略给定ID":