<?php namespace App; use Illuminate\Database\Eloquent\Model; use Illuminate\Http\Request; use App\Filtros\FiltroDeProducto; class Producto extends Model { public $timestamps = false; protected $fillable = [ "nombre", "precio", "presentacion", "stock", "categoria" ]; static $paginarPorDefecto = 10; public function subpedidos() { return $this->belongsToMany('App\Subpedido','productos_subpedidos')->withPivot(["cantidad"]); } public function proveedor() { return $this->belongsTo('App\Proveedor'); } //Este método permite que se apliquen los filtros al hacer una request (por ejemplo, de búsqueda) public function scopeFiltrar($query, FiltroDeProducto $filtros) { return $filtros->aplicar($query); } public static function getPaginar(Request $request) { return $request->has('paginar') && intval($request->input('paginar')) ? intval($request->input('paginar')) : self::$paginarPorDefecto; } }