Lo que había de productos internos

This commit is contained in:
Ale 2022-12-11 20:00:45 -03:00
parent f6fa4f9523
commit fe9b4cb2ef
4 changed files with 20 additions and 3 deletions

View File

@ -31,6 +31,7 @@ class Filtro extends Model
//Aplicar filtros que aparecen en los parámetros, si los hay
$filtros = $this->request->all();
var_dump($filtros);
//el filtro nombre debe tomar precedencia sobre otros como (alfabetico)
if (isset($filtros["nombre"])) {

View File

@ -5,9 +5,14 @@ use Illuminate\Database\Eloquent\Builder;
class FiltroDeProducto extends Filtro {
public function categoria(String $valor)
public function categoria(String $valor)
{
$this->builder->where('categoria', $valor);
}
public function grupoDeCompra($grupoDeCompraID)
{
$this->builder->where('', $valor);
}
}

View File

@ -7,6 +7,7 @@ use Illuminate\Http\Request;
use App\Filtros\FiltroDeProducto;
use App\Http\Resources\ProductoResource;
use App\Producto;
use Auth;
class ProductoController extends Controller
{
@ -19,6 +20,7 @@ class ProductoController extends Controller
*/
public function index(FiltroDeProducto $filtros, Request $request)
{
$gdcID = Auth::user()->grupoDeCompra->id;
return ProductoResource::collection(Producto::filtrar($filtros)->paginate(Producto::getPaginar($request)));
}

View File

@ -12,9 +12,9 @@ class Producto extends Model
protected $fillable = [ "nombre", "precio", "presentacion", "stock", "categoria" ];
static $paginarPorDefecto = 10;
public function subpedidos()
public function gruposDeCompra()
{
return $this->belongsToMany('App\Subpedido','productos_subpedidos')->withPivot(["cantidad"]);
return $this->belongsToMany('App\GrupoDeCompra', 'grupo_de_compra_producto', 'grupo_de_compra_id');
}
public function proveedor()
@ -22,6 +22,15 @@ class Producto extends Model
return $this->belongsTo('App\Proveedor');
}
public function subpedidos()
{
return $this->belongsToMany('App\Subpedido','productos_subpedidos')->withPivot(["cantidad"]);
}
public static function productosCentrales() {
return Producto::doesntHave('gruposDeCompra')->get();
}
//Este método permite que se apliquen los filtros al hacer una request (por ejemplo, de búsqueda)
public function scopeFiltrar($query, FiltroDeProducto $filtros)
{