title: Laravel updateOrCreate function does not update custom timestamp
body: <p>I am using updateOrCreate function to create new rows or update exists base on given values. But when I try to update a value that defined as a timestamp (not the default "created_at" or "updated_at") it does not update the value.</p>
  
  <p>The issue happens only when I use the updateOrCreate function and only when the only field to update is the timestamp field. (In my case, 'last_scan').
  When I change the 'status' to 0 for example, all the values updated in the database, include the 'last_scan' field.</p>
  
  <p>I want to verify that every time I run this function, last_scan updated to the time the function ran whether if there is data to update or not.</p>
  
  <pre><code>$categoryEntity = CategoryEntity::updateOrCreate(
      [
          'store_id'  =&gt; $this-&gt;store_id,
          'remote_id' =&gt; $collection-&gt;id
      ],
      [
          'remote_parent_id'  =&gt; 0,
          'name'              =&gt; $collection-&gt;title,
          'status'            =&gt; 1,
          'last_scan'         =&gt; Carbon::now()
      ]
  );
  </code></pre>
  
  <p>I tried to replace the update and create with regular update method as following and it's worked perfect:</p>
  
  <pre><code>$categoryEntity-&gt;last_scan = Carbon::now();
  $categoryEntity-&gt;save();
  </code></pre>
  
  <p>My migration file is as following:</p>
  
  <pre><code>Schema::create('categories_entities', function (Blueprint $table) {
              $table-&gt;increments('id');
              $table-&gt;integer('store_id');
              $table-&gt;integer('remote_id');
              $table-&gt;integer('remote_parent_id');
              $table-&gt;string('name');
              $table-&gt;integer('status');
              $table-&gt;timestamp('last_scan');
              $table-&gt;timestamps();
  });
  </code></pre>