Guardar Registros en Laravel con los metodos save y create de Eloquent.
Hola developers, hoy en esta sección vamos a aprender a guardar registros en las tablas de la base de datos de una forma simple. Pero antes de empezar a interactuar con las tablas debes de crear un modelo e importarlo al controlador.
Autor: rogercode. Full stack developerPara guardar un registro se debe de crear una nueva instancia del modelo y establecer las columnas de la tabla, mismas que se establecieron en el modelo mediante la propiedad $fillable.
Una vez que se tiene el modelo, se debe de crear un controlador, y dentro de este se crea una función que por lo regular se llama store. Y ahí se escribe el código para guardar los datos.
Guardar registros con el metodo save() en Laravel☟.
El modelo User. ☛ Ver más sobre los modelos
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $fillable = [ //Se declaran los nombres de las columnas de la tabla.
'nombre',
'usuario',
'rol'
'email',
];
}
El controlador UserController. ☛ Ver más sobre los controladores
<?php
namespace AppHttpControllers;
use App\Http\Controllers\Controller;
use App\Models\User; //Se importa el modelo User
use Illuminate\Http\Request;
class UserController extends Controller
{
public function store(Request $request) //función que recibe como parámetro los datos del formulario user
{
$user = new User; //Se crea una instancia del modelo User
$user->nombre = $request->nombre; //Se establecen los valores para cada columna de la tabla
$user->usuario = $request->usuario;
$user->rol = $request->rol;
$user->email = $request->email;
$user->save(); //Se invoca el método save() para guardar los datos;
}
}
Guardar registros mediante el método create() en Laravel☟.
Otra forma de guardar un registro es mediante el método create() usando una sola instrucción que genera un array la cual debe llevar la clave y el valor “clave” => ”valor”.
<?php
namespace AppHttpControllers;
use App\Http\Controllers\Controller;
use App\Models\User; //Se importa el modelo User
use Illuminate\Http\Request;
class UserController extends Controller
{
public function store(Request $request) //función que recibe como parámetro los datos del formulario user
{
$user = User::create([ //Se genera el array con los valores y posterior se guardan los datos.
'nombre' => $request->nombre,
'usuario' => $request->usuario,
'rol' => $request->rol,
'email' => $request->email,
]);
}
}