title: Laravel Eloquent how to override the base query?
body: <p>I have 2 models shared a same table.</p>
  
  <p>Table name: <strong>books</strong>, I separate normal book &amp; novel by an attribute called <code>type</code></p>
  
  <p><strong>Book</strong> model</p>
  
  <pre><code>class Book extends \Illuminate\Database\Eloquent\Model
  {
      protected $table = 'books';
  }
  </code></pre>
  
  <p><strong>Novel</strong> model</p>
  
  <pre><code>class Novel extends Book
  {
      protected $table = 'books';
  
      // Is such a method available?
      protected function someMethodToOverride()
      {
          $this-&gt;where('type', 'novel');
      }
  }
  </code></pre>
  
  <p>What I want to achieve here is</p>
  
  <pre><code>$results = Novel::where('title', 'LIKE', '%' . $title . '%')-&gt;get();
  </code></pre>
  
  <p>from this query, I want it to pre-set the condition </p>
  
  <pre><code>where('type', 'novel')
  </code></pre>
  
  <p>Is there any function I can override to achieve this?</p>