Я создал метод в моей модели Laravel, который добавил несколько leftJoins
в построитель запросов, но мне интересно, есть ли более хороший способ его вызова.
Моя модель:
class Stock extends Model
{
protected $primaryKey = 'stock_id';
static public function scopeJoinStocksQuery($query){
return $query->leftJoin('parts','parts.part_id','=','stocks.part_id')->leftJoin('colors','colors.color_id','=','stocks.color_id');
}
}
То, как я сейчас называю модель:
$stock = new Stock;
$stock = Stock::scopeJoinStocksQuery($stock);
if($input){
$stock->where('model','LIKE','%'.$input.'%');
}
$stocks = $stock->offset(10)
->limit(50)
->orderBy('model', 'asc')
->get();
То, как я хотел бы иметь возможность написать это:
$stock = Stock::scopeJoinStocksQuery();
if($input){
$stock->where('model','LIKE','%'.$input.'%');
}
$stocks = $stock->offset(10)
->limit(50)
->orderBy('model', 'asc')
->get();
Это так? можно привести в порядок код и написать его последним способом?