title: Laravel Model Create method returns incomplete fields model instance
body: <p>I am having an issue retrieving my model data after insertion. Below is a sample code in which <strong>User model</strong> has already its <code>$fillable</code> containing all needed attributes (<code>id</code> and <code>state</code> attributes as extras to the below ones).</p>
  
  <pre><code>$values = ['firstname' =&gt; 'Nick', 'lastname' =&gt; 'King', 'gender' =&gt; 'male' ];
  $createdUser = User::create( $values );
  </code></pre>
  
  <p>Here is the migration code :</p>
  
  <pre><code>    Schema::create('users', function (Blueprint $table) {
          $table-&gt;increments('id');
          $table-&gt;string('firstname', 60);
          $table-&gt;string('lastname', 60);
          $table-&gt;string('gender', 6);
          $table-&gt;string('state', 20)-&gt;default('inactive');
          $table-&gt;timestamps();
      });
  </code></pre>
  
  <p>When sending back the <code>$createdUser</code> as <strong>JSON</strong>, I noticed that the <code>state</code> attribute doesn't exists.
  It does exists in the migration <em>having a default value</em> and also in the model <code>$fillable</code> but not in the <code>$hidden</code> attribute. 
  So what's wrong?</p>
  
  <p>Is that a bug for <strong>not having fields inserted with their default values</strong> in the returned model or it's just the way Laravel works.</p>