<?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;
  }
  
}