Estoy intentando guardar una matriz en laravel pero solo guarda el ultimo registro, me explico mejor:
Estoy haciendo un aula virtual donde guardo módulos y clases, dentro de módulos hay distintas clases con sus respectivo titulo, descripción, etc. En fin el problema es que siempre que intento guardar todos los datos, solo guarda el ultimo
Ej: Si estoy guardando 3 módulos y dentro de esos módulos cada uno tiene 1 clases, entonces solo guarda el modulo 3 y la segunda clase del modulo 3.
El codigo de mi controlador es el siguiente:
$ modulo = new Module; $ temas = new Theme; $ i = 0; foreach ($ request->nombremodulo as $ key) { $ modulo->course_id = $ request->idcurso; $ modulo->name = $ key; echo $ key . "<br>"; $ modulo->save(); $ j = 0; foreach($ request->title[$ i] as $ key2){ //Obtengo el nombre $ nombreArchivo = $ request->file('archivos')[$ i][$ j]->getClientOriginalName(); $ temas->module_id = $ modulo->id; $ temas->title = $ key2; $ temas->description = $ request->area[$ i][$ j]; $ temas->file = $ nombreArchivo; $ temas->save(); $ j++; } $ i++; }
Ahora si se preguntan si estan llegando los datos al controlador, si hago un dd()
esto es lo que me muestra:

Se los pongo también “ordenados” de esta manera y su respectivo código 
$ i = 0; foreach ($ request->nombremodulo as $ key) { echo "<br>___________________________<br>"; echo $ key . "<br>"; echo "________________________________<br>"; $ j = 0; foreach($ request->title[$ i] as $ key2){ echo "Clase: " . $ key2 . "<br>"; echo $ request->area[$ i][$ j] . "<br>"; echo "=======================================<br>"; $ j++; }
Las imágenes son para ilustrar la manera como llegan los datos al controlador, y que puedan observar que los datos están llegando correctamente el problema es que solo guarda el ultimo “registro” como les comento.