Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/08/2018, 06:44
sk0rpi0n
 
Fecha de Ingreso: julio-2009
Mensajes: 121
Antigüedad: 14 años, 9 meses
Puntos: 1
Mostrar solo el ultimo registro de cada producto.

Buenas, estoy haciendo un sistema de ventas y stock para mi local.

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 intente con el "limit(1)" arriba de get(); pero solo me devuelve el ULTIMO cartucho "ingresado" y nada más)

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!!

Última edición por sk0rpi0n; 22/08/2018 a las 06:55