Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

[SOLUCIONADO] Mostrar ultimo registro de un producto

Estas en el tema de Mostrar ultimo registro de un producto en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Estoy armando un sistemita en Laravel para controlar las ventas y stock del local donde trabajo... Ya hice todo solo me queda un detalle... Cuando ...
  #1 (permalink)  
Antiguo 12/09/2018, 07:24
 
Fecha de Ingreso: julio-2009
Mensajes: 91
Antigüedad: 9 años, 1 mes
Puntos: 1
Mostrar ultimo registro de un producto

Estoy armando un sistemita en Laravel para controlar las ventas y stock del local donde trabajo...

Ya hice todo solo me queda un detalle... Cuando yo registro un articulo (que ingresa nuevo) pongo por ejemplo en el apartado de ingresos:

Cartucho HP 21 Negro.. (cantidad)5.... (Precio Costo) 50... (Precio Venta) 60..
Cartucho HP 21 Negro.. (cantidad)3.... (Precio Costo) 60... (Precio Venta) 70..

y se agrega al stock la cantidad y el resto a la tabla ingresos... cuando yo vendo...
el problema es que me muestra... TODOS los ingresos que tuvo el articulo con sus respectivos precios... pero el stock lo muestra bien porque sale de otra tabla...

En ventas me aparece para elegir...

Cartucho HP 21 Negro (60)
Cartucho HP 21 Negro (70)

Solo debería aparecerme el ultimo registro que seria el de venta a $70.

Necesito que muestre el último y no el máximo porque no siempre los productos suben de precio ya que algunos servicios tambien van bajando de precio al igual que otros productos.

Código PHP:
public function create()
    {
$clientes=DB::table('cliente')->where('tipo_persona','=','Cliente')->get();
$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_promedio')
            ->
where('art.estado''=''Activo')
            ->
where('art.stock''>''0')
            ->
orderBy('di.iddetalle_ingreso''DESC')
            ->
get();
return 
view("ventas.venta.create",["clientes"=>$clientes,"articulos"=>$articulos]);
   } 
Esta es la estructura de la base de datos de detalle_ingreso que es de donde saca los datos al momento de vender.
Código HTML:
iddetalle_ingreso
idingreso
idarticulo
cantidad
precio_compra
precio_venta
Alguien alguna idea para esto?
  #2 (permalink)  
Antiguo 12/09/2018, 07:40
 
Fecha de Ingreso: julio-2009
Mensajes: 91
Antigüedad: 9 años, 1 mes
Puntos: 1
Respuesta: Mostrar ultimo registro de un producto

Bueno despues de meses y meses... haciendo el post decidi intentarlo una vez más y salio a la primera...

para el que le sirva:

Código PHP:
$articulos DB::table('articulo as art')
            ->
join('detalle_ingreso as di''art.idarticulo''=''di.idarticulo')
            ->
select(DB::raw('MAX(created_at)'), DB::raw('CONCAT(art.codigo, " ", art.nombre) as articulo'), 'art.idarticulo''art.stock''di.precio_venta as precio_promedio')
            ->
where('art.estado''=''Activo')
            ->
where('art.stock''>''0')
            ->
orderBy('di.iddetalle_ingreso''DESC')
            ->
groupBy('art.idarticulo')
            ->
get(); 
Agregue el DB::raw('MAX(created_at)')... lo cual solo me filtraba el último articulo ingresado nada mas...

Así que agregue el ->groupBy('art.idarticulo') para que el filtro se aplique a cada grupo de articulos... y listo!
  #3 (permalink)  
Antiguo 12/09/2018, 17:02
 
Fecha de Ingreso: julio-2008
Mensajes: 243
Antigüedad: 10 años, 1 mes
Puntos: 11
Respuesta: Mostrar ultimo registro de un producto

Hola sk0rpi0n,

Se agradece el aporte, gracias por compartir tu solución.
__________________
Neothek.com | Web hosting, registro de dominios, Diseño Web y Certificados SSL



La zona horaria es GMT -6. Ahora son las 19:45.