Ya tenemos nuestro controlador principal para operar sobre la tabla de proyectos, ahora aprenderemos a insertar nuevos registros en la tabla projects.
Creamos una nueva función en nuestro ProjectController, la llamaremos insertProject y aquí haremos la magia:
$project =newProject;$project->name ='Nombre del proyecto';$project->save();
Este bloque de código nos agregaría un nuevo proyecto con solo un valor en su campo name.
Lo primero que hacemos es crear una instancia del modelo Project y lo almacenamos en una variable, de ahí tomamos esa misma variable e indicamos cada campo de la tabla y le asignamos el valor que va a guardar. Finalmente, le indicamos la acción, que en este caso será save() para guardar.
En el caso de agregar un registro completo para nuestra tabla projects, la función que acabamos de crear quedaría así:
Ahora te preguntarás por qué no hemos agregado los campos created_at y updated_at para asignarles valores, lo que sucede es que el método save() ya se encarga de asignarles la fecha/hora actual de manera automática, si deseas asignar una valor diferente se lo puedes dar como los demás campos, pero recuerda que estos campos son de tiempo datetime.
Recuerda que no siempre vamos a guardar los registros de esta forma estática y, por lo general, vendrán de algún formulario o una fuente que nos dirá cuáles serán los valores de los registros, en ese caso, tendríamos que asignar $request pero la estructura se mantendría exactamente igual:
Ahora probemos esta nueva función de insertar un nuevo proyecto en la tabla projects, haremos el mismo procedimiento de agregar una ruta que apunte a esta función.
Vamos al navegador y escribimos en la barra de direcciones:
http://localhost:8000/insertNewProject
Y nos debe salir solo un mensaje que diga "Guardado", pues es lo que le indicamos en la función que mostraría en el return. Si esto sucede, nuestro registro ha sido guardado, podemos verificarlo entrando a nuestra base de datos desde la consola de MySQL o ejecutando la ruta anterior que nos trae todos los registros de la tabla projects.
Reto 🏁
Ya sabes cómo insertar un registro en nuestra base de datos usando el modelo Project, ya estás listo para este reto: inserta 30 registros en la tabla projects y agrega registros también a las tablas que tenemos aún vacías: cities, companies y users.
En la siguiente clase aprenderás a actualizar registros que están previamente creados en la base de datos y lo haremos utilizando Modelos de Eloquent. ¡Vamos 🏃🏻♀️!