【问题标题】:Admin user change with unique email contraint具有唯一电子邮件约束的管理员用户更改
【发布时间】:2017-12-12 08:56:11
【问题描述】:

我正在对请求使用唯一规则,以确保没有输入重复的电子邮件。

查看 Laravel 文档,我看到了如何忽略发布用户的电子邮件,但是对于有权对用户进行更改的管理员来说呢?我仍然想检查唯一性,但跳过被修改用户的电子邮件而不是管理员电子邮件。

有什么办法可以做到吗?

【问题讨论】:

    标签: laravel laravel-5.5


    【解决方案1】:

    您只需传递您尝试修改的用户的id

    假设在你的控制器中你有

    public function update(UserRequest $request, $id) {
        ...
    }
    

    然后在您的UserRequest 中,您可以使用$id 检索路由参数

    public function rules() {
        $id = $this->route('id') ?: 0;
    
        return [
            'email' => "required|unique:users,email,{$id}",
        ];
    }
    

    【讨论】:

    • 这正是我需要的。当您使用隐式绑定时,它甚至是对象。谢谢。
    猜你喜欢
    • 2012-12-24
    • 2011-01-17
    • 1970-01-01
    • 2020-01-03
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    相关资源
    最近更新 更多