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();
 | 
						|
  }
 | 
						|
  
 | 
						|
}
 |