Me quedé atascado en esto:
Tengo una tabla de "ingresos" de productos con precio de compra y precio de venta...
El problema es que cuando agrego un producto... en el listado de productos para vender... me muestra los articulos repetidos con los diferentes precios de venta...
Osea ingreso 1 cartucho X para vender a 10... y al otro dia ingreso otro cartucho X para vender a 11 y un cartucho Y para vender a 9...
En mi lista de productos para vender me muestra los 3... y solo deberia mostrarme el cartucho X para vender a 11 y el cartucho Y para vender a 9.
Mi codigo es el siguiente:
DATO EXTRA: No siempre suben, a veces también bajan, por ello es que necesito que muestre el ultimo ingresado y no el MÁXIMO o MÍNIMO!
Código PHP:
$articulos = DB::table('articulo as art')
->join('detalle_ingreso as di', 'art.idarticulo', '=', 'di.idarticulo')
->select(DB::raw('CONCAT(art.codigo, " ", art.nombre) as articulo'), 'art.idarticulo', 'art.stock', 'di.precio_venta as precio_final')
->where('art.estado', '=', 'Activo')
->where('art.stock', '>', '0')
->orderBy('di.iddetalle_ingreso', 'DESC')
->get();
Tambien tengo este script que es para que el precio de venta.. sea un "promedio" de los precios de venta que tengo ingresados... el tema es que luego me di cuenta que tampoco me sirve porque varían mucho... y tendría que ser el precio fijo de venta ultimo ingresado..
Código PHP:
$articulos=DB::table('articulo as art')
->join('detalle_ingreso as di','art.idarticulo','=','di.idarticulo')
->select(DB::raw('CONCAT(art.codigo, " ",art.nombre) AS articulo'),'art.idarticulo','art.stock',DB::raw('avg(di.precio_venta) as precio_promedio'))
->where('art.estado','=','Activo')
->where('art.stock','>','0')
->groupBy('articulo','art.idarticulo','art.stock')
->get();
Gracias de ante mano!!