我正在将数据插入phpmyAdmin数据库(使用laravel(。如何限制用户向特定表中添加重复数据?例如:用户名。每个用户都应该有一个唯一的用户名。如果用户输入了一个已经存在的用户名,他们应该会得到一个错误(最好是会话(,说用户名已经存在。感谢提前提供的帮助
$detailscode = DB::Table('products')->select('description_code')->where('id',1)->get();
foreach ($detailscode as $items){
$codes = $items;
}
if($request->detailscode == $codes){
Session::put('Error','Enter a different code');
return redirect::to('/add-product');
}
在迁移中,您可以告诉SQL防止重复,如下所示:
$table->string('username')->unique();
现在,您不能在此表中插入相同的username
,如果您尝试这样做,您将从SQL中收到错误消息。
为了防止错误显示在您的Laravel应用程序上,您需要使用validation
:
$validator = Validator::make($request->all(), [
'username' => 'unique:users,username',
]);
请参阅此处的官方文档