Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

160
Views
PHP y Laravel: obtener la matriz de posición N en una matriz de matrices, en múltiplos de N

Tengo la tarea de aplicar un descuento, en cada décimo pedido para el cliente a partir del comienzo de su suscripción, los datos provienen de una llamada API fuera de Laravel.

p.ej

 [ [ order_id: xxxxx, details: [ ], customer_id: xxxxx ], [ order_id: xxxxx, details: [ ], customer_id: xxxxx ], ]

El criterio para que el pedido sea incluido en el conteo, es tener un estado de ÉXITO. Lo que hice fue recorrer todos los pedidos que tienen un estado de ÉXITO y crear un contador a partir de 1, y si el contador llega a 10, restableceré el contador nuevamente al principio, hasta que haya recorrido todos los pedidos y el último número que se registró es el N-ésimo pedido actual del cliente, por lo que si el N-ésimo pedido actual es 9, el siguiente pedido se aplicaría con un descuento.

Sin embargo, esto parece ineficiente y si el cliente tiene muchos pedidos, el código tardará un tiempo en recorrer y pasar por todos los pedidos, para obtener la posición N-ésima del pedido actualmente para el cliente. ¿Existe una fórmula para obtener cuál es la posición actual del orden N? ¿O puedo usar colecciones, fragmentar la matriz en 10 y obtener el último grupo y desde allí simplemente hacer un bucle para obtener la posición N de la última orden? Cualquier consejo sería apreciado. Gracias.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Editar debido a que no está en la base de datos sino en una respuesta de API.

 $applicable_for_discount = collect($data)->filter(function ($item) { return $item['successful']; })->chunk(9)->last()->count() === 9;
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!