Laravel's save() does not save all fields
<p>AdvertiseController.php</p>

<pre><code>class AdvertiseController extends Controller
{
    ...
    public function NewAdvertiser()
    {
        $advertiser = new Advertiser((string)Uuid::generate(4));
        $advertiser-&gt;createAdvertiser();
        return Redirect::route('dashboard');
    }
    ...
}
</code></pre>

<p>Advertiser.php</p>

<pre><code>class Advertiser extends Model
{
    ...
    protected $fillable = ['token'];

    private $token;

    function __construct($token)
    {
        $this-&gt;token = $token;
    }

    function createAdvertiser()
    {
        //dd($this);
        $this-&gt;save();
        //dd($this);
    }
    ...
}
</code></pre>

<p>The first <code>dd($this)</code> prints the following:</p>

<pre><code>Advertiser {#181 ▼
  #fillable: array:1 [▼
    0 =&gt; "token"
  ]
  -token: "44f1e74b-ad19-4e73-ac2e-b37ffde59e99"
  #connection: null
  #table: null
  #primaryKey: "id"
  #perPage: 15
  +incrementing: true
  +timestamps: true
  #attributes: []
  #original: []
  #relations: []
  #hidden: []
  #visible: []
  #appends: []
  #guarded: array:1 [▼
    0 =&gt; "*"
  ]
  #dates: []
  #dateFormat: null
  #casts: []
  #touches: []
  #observables: []
  #with: []
  #morphClass: null
  +exists: false
  +wasRecentlyCreated: false
}
</code></pre>

<p>The second <code>dd($this)</code>:</p>

<pre><code>Advertiser {#181 ▼
  #fillable: array:1 [▼
    0 =&gt; "token"
  ]
  -token: "295764d5-c45c-4aa9-8ce2-8ed772687fb8"
  #connection: null
  #table: null
  #primaryKey: "id"
  #perPage: 15
  +incrementing: true
  +timestamps: true
  #attributes: array:3 [▼
    "updated_at" =&gt; "2016-05-19 11:39:42"
    "created_at" =&gt; "2016-05-19 11:39:42"
    "id" =&gt; 7
  ]
  #original: array:3 [▼
    "updated_at" =&gt; "2016-05-19 11:39:42"
    "created_at" =&gt; "2016-05-19 11:39:42"
    "id" =&gt; 7
  ]
  #relations: []
  #hidden: []
  #visible: []
  #appends: []
  #guarded: array:1 [▼
    0 =&gt; "*"
  ]
  #dates: []
  #dateFormat: null
  #casts: []
  #touches: []
  #observables: []
  #with: []
  #morphClass: null
  +exists: true
  +wasRecentlyCreated: true
}
</code></pre>

<p>The <code>token</code> has a minus sign, does it have anything to do with it? I couldn't find any information about it.</p>

<p>The database migration for the field:</p>

<pre><code>$table-&gt;uuid('token');
</code></pre>

<p>The problem is that all the records are stored successfully but the <code>token</code> field is blank.</p>