当我试图在数据库中创建一个新用户时,我遇到了一个问题,如果我在phpmyadmin中添加用户,我没有问题,但是当我试图在laravel web中创建用户时,用户创建了一个错误:SQLSTATE[23000]:完整性约束冲突:1062重复条目'15.236.964-5'键'primary'我不知道是哪个问题,因为数据库中不存在相同的主键。有问题的表格是:
CREATE TABLE IF NOT EXISTS `users` (
`rut` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`password` char(60) COLLATE utf8_unicode_ci NOT NULL,
`edad` int(11) NOT NULL,
`pais` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`comuna` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`sector` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`tipo` enum('profesor','alumno','administrador_parrilla','administrador_sistema','externo') COLLATE utf8_unicode_ci NOT NULL,
`remember_token` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
ALTER TABLE `users`
ADD PRIMARY KEY (`rut`),
ADD UNIQUE KEY `usuario_rut_unique` (`rut`),
ADD UNIQUE KEY `usuario_email_unique` (`email`);
我的控制器:
class UsuarioController extends Controller
{
public function index(){
$users = User::All();
return view('usuario.index', compact('users'));
}
public function create(){
return view('usuario.create');
}
public function store(Request $request) {
User::create([
'name' => $request['name'],
'rut' => $request['rut'],
'email' => $request['email'],
'password' => bcrypt($request['password']),
'edad' => $request['edad'],
'pais' => $request['pais'],
'comuna' => $request['comuna'],
]);
User::create($request->all());
return redirect('/usuario')->with('message', 'store');
}
public function edit($rut){
$user = User::find($rut);
return view ('usuario.edit',['user'=>$user]);
}
public function update($id, Request $request){
$user = User::find($id);
$user -> fill($request->all());
$user -> save();
Session::flash('message', 'Usuario Editado Correctamente');
return Redirect ('/usuario');
}
}
我的模型:
class User extends Authenticatable
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $table = "users";
protected $fillable = [
'rut', 'name', 'email', 'password', 'edad', 'pais', 'comuna', 'sector', 'tipo',
];
/**
protected $primaryKey = 'rut';
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
我不能更改添加auto_increment的主键,因为我使用“rut”作为主键,它是智利人民的标识代码。
执行以下步骤:
1)删除添加唯一键usuario_rut_unique(rut)
。
因为您已经定义了rut
是主键,所以PKs总是唯一的(这是PKs行为)
/**
* primaryKey
*
* @var integer
* @access protected
*/
protected $primaryKey = 'rut';
/*
You cannot comment it to make in disabled, it will look for `id` param by default.
You cannot set it to be = null because in Your code You use ::find() function
that looks for primaryKey.
*/
/**
* Indicates if the IDs are auto-incrementing.
*
* @var bool
*/
public $incrementing = false;
User::create($request->all());
我使用一个自定义的API请求到我的数据库来生成一个新的条目。 我的表格结构是这样的: 表结构 我将Incident_Type设置为唯一,因为这是我的系统的要求。当我向系统发布新条目时: 第一次很好。 第二次: 当我使用不同的事件id时,我得到错误: 为什么发送请求使用完全相同的条目,即使我更改了数据?我该怎么解决这个问题?
我不确定这个错误是从哪里来的。我不知道它将如何尝试将副本添加到我的数据库中。思想?我打错电话了吗?我已经把范围缩小到我知道与签名部分有关的地方。我在DB中只有一列id
我正在尝试在代码中使用: 这个东西也不起作用: 如果文件已经存在,我如何制作媒体来替换它?
我是拉雷维尔的新手,这是我在拉雷维尔的第一个项目。像往常一样,首先我正在开发一个完整的用户身份验证系统。我可以注册一个用户,可以发送用户验证电子邮件,点击该链接后,我可以激活一个新的用户帐户,可以登录和注销。但在那之后,每当我尝试注册另一个新用户并单击验证链接后,我都会遇到一个异常, 现在这是我的路线。php, 这是我的账户管理员 这是我的创建用户迁移文件 这是我的用户。php 现在有什么问题?
我有一个很大的PL/SQL存储过程,在这里我们进行一些删除和插入一样长的操作。过程以语句开始 当我试图在子表中插入值,但父表中没有此条目时,会发生此错误吗? 还有,02292和02291有什么区别?
我提交一个表单与AJAX和在网络我得到这个错误。 我正在使用Laravel5.6和迁移。这是此表的迁移。 这是我的控制器的功能。 我的文件上传成功,数据也被插入到数据库中,但我仍然收到这个错误。这不影响我,但想解决它吗?