允许重复输入
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
,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
或编写一个新的迁移并设置它没有唯一性
【讨论】:
以上是关于允许重复输入的主要内容,如果未能解决你的问题,请参考以下文章
允许用户更改密码的模式。用户是不是必须重复新密码以及输入旧密码?