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

108
Views
Cómo publicar muchos datos en la base de datos laravel

Estoy tratando de enviar estos datos a una base de datos en Laravel. Mi intención es enviar todo al mismo tiempo, son solo dos filas, pero me gustaría enviarlas juntas, incluso si llegan a 10 filas que puedo enviar.

 0: {item: "Electronics", subitem: "Laptop", subitem2: "Hard D", unit: "Length - meter (m)"} 1: {item: "Electronics", subitem: "Laptop", subitem2: "Hard D", unit: "Length - meter (m)"}

lo que he probado

 for ($i = 1; $i < count($request->all()); $i++) { $answers[] = [ 'item' => $request->item[$i], 'subitem' => $request->subitem[$i], 'subitem2' => $request->subitem2[$i] ];

Intenté hacer un bucle for usando el código anterior pero no funciona... obtuve el siguiente error

 count(): Parameter must be an array or an object that implements Countable
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Entonces, después de la discusión en los comentarios, la solución para lo que está tratando de lograr puede ser:

 foreach ($request->all() as $data){ Items::insert([ 'item' => $data['item'], 'subitem' => $data['subitem'], 'subitem2' => $data['subitem2'], 'unit' => $data['unit'] ]); }

Si no tiene un modelo y literalmente lo inserta usando la fachada DB, entonces puede hacer:

 DB::table('items')->insert([ 'item' => $data['item'], 'subitem' => $data['subitem'], 'subitem2' => $data['subitem2'], 'unit' => $data['unit'] ]);

Pero debe construir modelos dedicados.

También debe validar su entrada, $request->all() es demasiado general, pero esta es una sugerencia para futuras mejoras y algo a tener en cuenta.

No confíe en los datos que los usuarios envían desde el front-end. El back-end siempre debe validar.

over 4 years ago · Santiago Trujillo Report

0

Eche un vistazo a la documentación de laravel aquí: https://laravel.com/docs/8.x/queries#insert-statements

Aquí hay un ejemplo de lo que usan para insertar múltiples registros

 DB::table('users')->insert([ ['email' => 'picard@example.com', 'votes' => 0], ['email' => 'janeway@example.com', 'votes' => 0], ]);
over 4 years ago · Santiago Trujillo 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!