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 developer

Para 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”.

  • clave = nombre de la columna de la tabla.
  • valor = valor que se desea guardar en la columna

  •             
                  
        <?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,
            ]);
          }
        }