title: Laravel - Integrity constraint violation: 1062 Duplicate entry
body: <p>i have a problem when i try to create a new user in my database, if I add the users in phpmyadmin i have no problems, but when i try create users in my laravel web, the users has created with this error: 
  SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '15.236.964-5' for key 'PRIMARY'
  I dont have idea which is the problem because in the database does not exist the same primary key.
  The table with problems is: </p>
  
  <pre><code>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`);
  </code></pre>
  
  <p>My controller:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>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' =&gt; $request['name'],
               'rut' =&gt; $request['rut'],
               'email' =&gt; $request['email'],
               'password' =&gt; bcrypt($request['password']),             
               'edad' =&gt; $request['edad'],
               'pais' =&gt; $request['pais'],
               'comuna' =&gt; $request['comuna'],
           ]);
          User::create($request-&gt;all());
          return redirect('/usuario')-&gt;with('message', 'store');
      }
  
      public function edit($rut){
          $user = User::find($rut);
          return view ('usuario.edit',['user'=&gt;$user]);
      }
  
      public function update($id, Request $request){
          $user = User::find($id);
          $user -&gt; fill($request-&gt;all());
          $user -&gt; save();
  
          Session::flash('message', 'Usuario Editado Correctamente');
          return Redirect ('/usuario');
      }
  }</code></pre>
  </div>
  </div>
  </p>
  
  <p>My Model:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>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',
      ];
  }</code></pre>
  </div>
  </div>
  </p>
  
  <p>I can't change the primary key adding auto_increment because i use the "Rut" as a primary key who is the code of identification to people in Chile.</p>