title: Why Laravel save method changes updated_at column and other timestamp columns?
body: <p>I created such table in database.</p>
  
  <pre><code>Schema::create('packages', function (Blueprint $table) {
      $table-&gt;increments('id');
      $table-&gt;unsignedInteger('count');
      $table-&gt;timestamp('expire_date');
      $table-&gt;timestamps();
  });
  </code></pre>
  
  <p>Now Imagine we have following records in database:</p>
  
  <pre><code>+----+-------+---------------------+---------------------+---------------------+
  | id | count | expire_date         | created_at          | updated_at          |
  +----+-------+---------------------+---------------------+---------------------+
  |  1 |   120 | 2018-01-31 19:22:45 | 2018-01-29 17:12:01 | 2018-01-29 19:22:45 |
  |  4 |   140 | 2018-02-14 19:05:01 | 2018-01-29 17:20:16 | 2018-01-29 19:05:01 |
  | 27 |    10 | 2018-02-17 19:01:10 | 2018-01-29 19:05:01 | 2018-01-29 19:05:01 |
  +----+-------+---------------------+---------------------+---------------------+
  </code></pre>
  
  <p>when I try to edit a record using laravel eloquent:</p>
  
  <pre><code>$package = \App\Package::find(1);
  $package-&gt;count = 100;
  $package-&gt;save();
  </code></pre>
  
  <p>save method changes both expire_date and updated_at columns to current time!</p>
  
  <pre><code>+----+-------+---------------------+---------------------+---------------------+
  | id | count | expire_date         | created_at          | updated_at          |
  +----+-------+---------------------+---------------------+---------------------+
  |  1 |   100 | 2018-01-29 19:32:24 | 2018-01-29 17:12:01 | 2018-01-29 19:32:24 |
  |  4 |   140 | 2018-02-14 19:05:01 | 2018-01-29 17:20:16 | 2018-01-29 19:05:01 |
  | 27 |    10 | 2018-02-17 19:01:10 | 2018-01-29 19:05:01 | 2018-01-29 19:05:01 |
  +----+-------+---------------------+---------------------+---------------------+
  </code></pre>
  
  <p>why expire_date value changes without even touching it?!!!</p>