允许重复输入

Posted

技术标签:

【中文标题】允许重复输入【英文标题】:Allow duplicate entry 【发布时间】:2019-11-11 08:26:37 【问题描述】:

关于避免重复输入的大多数主题,但我想允许。这是控制器:

$validator = Validator::make($request->all(), [
    'name' => 'required|string',
    'email' => 'required|email',
    'phone' => 'required|numeric|digits:11',
    'type' => 'required'
]);

使用passport

型号:

protected $fillable = [
    'name', 'email', 'phone', 'type',
];

但它不允许我插入重复条目:

SQLSTATE[23000]:违反完整性约束:1062 重复 为密钥输入“0955559777” 'users_phone_unique' (SQL: 插入users (name, email, phone, type, updated_at, created_at) 值 (mike, s22@s.com, 0955559777, 1, 2019-11-11 08:16:34, 2019-11-11 08:16:34))

上面写着users_phone_unique,但我没有设置手机是唯一的。有什么想法吗?

【问题讨论】:

检查你的迁移,你应该在那里定义它 @SalmanZafar 你说得对,因为它是由passport 制作的,我忘记检查了。谢谢 【参考方案1】:

像这样创建新的迁移

php artisan make:migration remove_unique_key_from_user_table --table=users

现在打开这个迁移并像这样在此处删除唯一键约束方法

public function up()

    Schema::table('users', function (Blueprint $table) 
        $table->dropUnique('users_phone_unique');
    );

完成后再次运行迁移

php artisan migrate

【讨论】:

【参考方案2】:

在您的用户表迁移文件中,您将电话设置为唯一 所以你需要改变它。从迁移中删除唯一键。 &

php artisan migrate:refresh

或编写一个新的迁移并设置它没有唯一性

【讨论】:

以上是关于允许重复输入的主要内容,如果未能解决你的问题,请参考以下文章

只允许在文本框中输入数字[重复]

h:inputText 在输入期间只允许数字[重复]

允许用户更改密码的模式。用户是不是必须重复新密码以及输入旧密码?

防止“输入”提交表单,但允许在 textarea 字段(jQuery)[重复]

允许 HTML5 日期输入中的空值 [重复]

允许在字段中使用小数 [重复]