Laravel - Integrity constraint violation: 1062 Duplicate entry

ich habe ein problem, wenn ich versuche, erstellen Sie einen neuen Benutzer in meiner Datenbank, wenn ich die Benutzer in phpmyadmin habe ich keine Probleme, aber wenn ich versuche, das erstellen von Benutzern in meinem laravel Website, die der Benutzer erstellt hat, mit dieser Fehlermeldung:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '15.236.964-5' für Schlüssel 'PRIMARY'
Habe ich derzeit keine Idee, die ist das problem, weil in der Datenbank nicht existieren die gleichen Primärschlüssel.
Die Tabelle mit den Problemen ist:

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`);

Mein controller:

JS:

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');
    }
}

Mein Modell:

JS:

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',
    ];
}

Kann ich nicht ändern der primary key auto_increment hinzufügen, weil ich die "Furche" als Primärschlüssel, wer ist der code, der die Identifikation der Menschen in Chile.

  • scheint, wie 'Furche' ist primäre und einzigartig. Sie versuchen, hinzuzufügen, dass der Benutzer gleiche "Trott" und so, da Sie den Fehler.
InformationsquelleAutor Bullgod | 2016-06-21
Schreibe einen Kommentar