title: How can I implement single table inheritance using Laravel's Eloquent?
body: <p>Currently I have a model class named <code>Post</code>.</p>
  
  <pre><code>class Post extends Eloquent {
  
      protected $table = 'posts';
      protected $fillable = array('user_id', 'title', 'description', 'views');
  
      /*
       * Relationships
       */
  
      public function user()
      {
          return $this-&gt;belongsTo('User');
      }
  
      public function tags()
      {
          return $this-&gt;belongsToMany('Tag', 'post_tags');
      }
  
      public function reactions()
      {
          return $this-&gt;hasMany('Reaction');
      }
  
      public function votes()
      {
          return $this-&gt;hasMany('PostVote');
      }
  
      //Scopes and functions...
  }
  </code></pre>
  
  <p>I would like to divide posts into two different types; <code>articles</code> and <code>questions</code>. I thought the best way to do this is by inheritance, so <code>Article</code> and <code>Question</code> would extend <code>Post</code>. What is the best way to do this and where to start?</p>