mercredi 12 décembre 2018

Laravel Eloquent how to override the base query?

I have 2 models shared a same table.

Table name: books, I separate normal book & novel by an attribute called type

Book model

class Book extends \Illuminate\Database\Eloquent\Model
{
    protected $table = 'books';
}

Novel model

class Novel extends Book
{
    protected $table = 'books';

    // Is such a method available?
    protected function someMethodToOverride()
    {
        $this->where('type', 'novel');
    }
}

What I want to achieve here is

$results = Novel::where('title', 'LIKE', '%' . $title . '%')->get();

from this query, I want it to pre-set the condition

where('type', 'novel')

Is there any function I can override to achieve this?



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire