title: Order of Laravel 4 Eloquent Model Observer Events
body: <p>According to <a href="http://laravel.com/docs/eloquent#model-observers" rel="nofollow">http://laravel.com/docs/eloquent#model-observers</a> the following events are being fired when creating a new item. <em>creating</em> then <em>created</em> then <em>saving</em> then <em>saved</em>.</p>
  
  <p>However when I do call a model class, the events are being fired the other way round. Saving is called before creating.</p>
  
  <p><strong>My Code:</strong></p>
  
  <pre><code>class TBone extends Eloquent {
  
      protected $table = 'bone';
  
      protected $primaryKey = 'id';
  
      protected $guarded = array('id');
  
  }
  </code></pre>
  
  <p><strong>The Observer Class:</strong></p>
  
  <pre><code>class ObserverLeBone{
  
      public function creating($bone)
      {
          echo "creating\r\n";
      }
  
      public function saving($bone) 
      {
          echo "saving\r\n";
      }
  
      public function updating($bone) 
      {
          echo "updating\r\n";
      }
  }
  </code></pre>
  
  <p><strong>The Test:</strong></p>
  
  <pre><code>class EloquentTest extends TestCase {
  
      public function testObserver()
      {
         TBone::observe(new ObserverLeBone());
         $attributes = array('appreciatedAs' =&gt; 'Steak'); 
         TBone::create($attributes);
      }
  
  }
  </code></pre>
  
  <p><strong>Output when running the Test Case:</strong></p>
  
  <pre><code>saving
  creating
  </code></pre>
  
  <p>So I am just wondering why the saving event is fired before the creating event?
  Or am I missing something ?</p>