【问题标题】:Laravel unique name but if the id is the sameLaravel 唯一名称,但如果 id 相同
【发布时间】:2017-03-26 05:12:24
【问题描述】:

我正在尝试学习 laravel。 现在我有一个可以工作的表格。我可以创建,我可以更新数据。

但我有一个特殊情况。我正在添加带有名称的数据。 我希望这些名称只使用一次。因此我正在使用独特的功能。 当我创建新事物时,这工作正常。但是当我更新数据并且我不更改名称时,它会给我一个错误,因为名称存在(但它是相同的条目)。

所以现在,我想验证是否使用了名称,但如果 id 相同,则可以对其进行更新。

我如何在 laravel 中做到这一点?

【问题讨论】:

    标签: php forms laravel validation


    【解决方案1】:

    如文档中所述,您可以使用Illuminate\Validation\Rule 类创建一个规则对象以与其他规则一起使用。 Rule 对象有一个 ignore() 方法:

    use Illuminate\Validation\Rule;
    
    Validator::make($data, [
        'email' => [
            'required',
            Rule::unique('users')->ignore($user->id),
        ],
    ]);
    

    请参阅“强制使用唯一规则以忽略给定 ID”:

    https://laravel.com/docs/master/validation#rule-unique

    【讨论】:

      猜你喜欢
      • 2016-08-03
      • 2014-02-10
      • 2016-03-11
      • 2021-05-29
      • 2021-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多