48 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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;
 | |
|   }
 | |
| 
 | |
|   public static function productosIDFila() {
 | |
|     return Producto::pluck('fila', 'id',)->all();
 | |
|   }
 | |
| 
 | |
|   public static function productosFilaID() {
 | |
|     return Producto::pluck('id', 'fila',)->all();
 | |
|   }
 | |
| 
 | |
|   public static function productosIDNombre() {
 | |
|     return Producto::pluck('nombre', 'id',)->all();
 | |
|   }
 | |
|   
 | |
| }
 | 
