大家编辑的时候都这么验证唯一参数的?

1. 运行环境

php7+mysql5.7+redis4+apache

1). 当前使用的 Laravel 版本?

8.5

2). 当前使用的 php/php-fpm 版本?

PHP 版本:7

php-fpm 版本:7

3). 当前系统

Windows 10

4). 业务环境

生产环境

5). 相关软件版本

MySQL5.7

2. 问题描述?

添加的时候参数必须是唯一的,可以使用unique:表名进行验证,
修改的时候各位一般都怎么验证?目前是查询一遍,重复就不修改,有没有更好的方法?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 4

app/Http/Requests/FooRequest.php

public function updateRules()
{
    return [
        'name' => [
            'required',
            Rule::unique('table', 'name')->ignore($this->input('id')),
        ],
    ];
}
3年前 评论

如果用Laravel框架的话可以参考上面两位老哥的做法@时间和光线 @Tao ,如果是在其他框架可以使用最原始的做法 :grin::

<?php 
public function queryNameByUpdate($id,$name) :bool {
    return User::query()->where('id','!=',$id)->where('name',$name)->exists();
}
?>
3年前 评论
name => [ 
    "unique:users,name,$user->id" // 表名,字段名,排除的ID
]
3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!