title: Creating timestamps throws an error for model with dynamic table name set in constructor
body: <p>I have an Eloquent model with constructor (below), that takes <code>$type</code> param. The types are - let's say - <code>first</code>, <code>second</code> or <code>third</code>.</p>
  
  <pre><code>&lt;?php
  
  namespace App;
  
  use Illuminate\Database\Eloquent\Model;
  
  class MyModel extends Model {
  
      protected $table; // Define $table field
  
      public function __construct($type = null, array $attributes = array()) {
  
          // Initialize $table field
          $this-&gt;table = isset($type) ? 'my_'.$type.'_table' : null;
  
          parent::__construct($attributes);
      }
  
  ?&gt;
  </code></pre>
  
  <p>As you can see in the code above, I set the model's <code>$table</code> property to <code>my_[type]_table</code>, so I can use the model dynamically with one of 3 tables available. Like this:</p>
  
  <pre><code>// Somewhere in controller
  $type = 'first';
  $myModel = new MyModel($type);
  $myModel-&gt;create(.....); // &lt;= Error is thrown here
  </code></pre>
  
  <p><strong>The problem is</strong> when Eloquent tries to create timestamps for the table, it doesn't care anymore about the table name I set in <code>__construct()</code> and it tries to create the timestamps for table called <code>my_models</code> (which is obviously based on the model's class name), instead of doing it for (in this case) <code>my_first_table</code>:</p>
  
  <blockquote>
    <p>SQLSTATE[HY000]: General error: 1 no such table: my_models (SQL:
    insert into "my_models" ("updated_at", "created_at") values
    (2015-07-17 08:35:13, 2015-07-17 08:35:13))</p>
  </blockquote>
  
  <p>Any way to keep the dynamic table name for the automatic timestamps creation? Im on Laravel 5.1.</p>