Inicio » Blog » Laravel

30 enero, 2024

4 formas Insertar Registros en Laravel

Descubre las 4 formas de insertar registros en Laravel, desde el poder de Eloquent hasta las consultas SQL directas. Mejora tus habilidades en desarrollo web con este tutorial detallado

Suscríbete a nuestro canal en Youtube

Suscríbirse

¡Hola a todos, desarrolladores de Laravel!

En este video, vamos a explorar diferentes formas de insertar registros en Laravel, una de las mejores y más populares frameworks PHP para el desarrollo web. Aprenderemos sobre las prácticas recomendadas utilizando Eloquent, el ORM de Laravel, y también veremos cómo realizar inserciones directas con consultas SQL.

Formas de insertar registros en laravel

Usando el Constructor del Modelo:

Puedes crear una nueva instancia del modelo y asignar los valores de los atributos antes de guardarla en la base de datos.

use App\Models\TuModelo; $nuevoRegistro = new TuModelo; $nuevoRegistro->campo1 = 'valor1'; $nuevoRegistro->campo2 = 'valor2'; $nuevoRegistro->save(); 

Usando el Método create de Eloquent:

Laravel proporciona un método create que te permite insertar un nuevo registro en la base de datos y asignar valores en un solo paso.

use App\Models\TuModelo; TuModelo::create([ 'campo1' => 'valor1', 'campo2' => 'valor2', ]); 

Asegúrate de tener la propiedad fillable en tu modelo para especificar qué campos se pueden llenar.

Usando el Método insert para Múltiples Registros:

Puedes utilizar el método insert para insertar varios registros a la vez.

use App\Models\TuModelo; TuModelo::insert([ ['campo1' => 'valor1', 'campo2' => 'valor2'], ['campo1' => 'valor3', 'campo2' => 'valor4'], ]); 

Ten en cuenta que insert no dispara eventos de Eloquent ni utiliza el sistema de creación masiva, así que ten precaución al usarlo.

Usando el Método firstOrCreate:

Si deseas insertar un registro si no existe o recuperar el primero que coincide con las condiciones dadas, puedes utilizar firstOrCreate.

use App\Models\TuModelo; $registro = TuModelo::firstOrCreate( ['campo1' => 'valor1'], ['campo2' => 'valor2'] ); 

Esto buscará un registro con las condiciones proporcionadas y lo devolverá si existe. Si no existe, creará un nuevo registro con las condiciones dadas.

Usando el método InsertGetId

insertGetId es un método en Laravel que se utiliza para insertar un nuevo registro en la base de datos y obtener el ID del registro recién insertado. Este método es útil cuando necesitas obtener el ID de un nuevo registro después de insertarlo. Aquí hay un ejemplo de cómo se puede usar:

use Illuminate\Support\Facades\DB; // ... $id = DB::table('tu_tabla')->insertGetId([ 'campo1' => 'valor1', 'campo2' => 'valor2', ]); // $id contendrá el ID del nuevo registro insertado 

En este ejemplo, tu_tabla es el nombre de la tabla en la que deseas insertar el nuevo registro. Puedes reemplazar 'campo1', 'valor1', 'campo2', y 'valor2' con los nombres y valores reales de los campos que deseas insertar.

Es importante tener en cuenta que insertGetId utiliza el Query Builder de Laravel y no el sistema de Eloquent. Si estás trabajando con un modelo Eloquent, puedes preferir utilizar el método create o el constructor del modelo para insertar registros.

Exploraremos las ventajas y consideraciones de cada método para que puedas elegir el enfoque que mejor se adapte a tus necesidades. ¡Acompáñanos para profundizar en estos conceptos y mejorar tus habilidades en Laravel!

 

Código de 4 formas de insertar registros

namespace App\Http\Controllers\Admin;
use App\Models\Category;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class CategoryController extends Controller
{
    public function save(){
        // opcion #1
        
        $category = new Category();
        $category->slug = "analisis-de-datos";
        $category->name = "Análisis de datos";
        $category->position = 5;
        $category->save();
        // opcion #2
        $category = Category::create([
            "slug" => "analisis-de-datos 2",
            "name" => "Análisis de datos 2",
            "position"=>7
            ]);
            
        // opcion 3
        $category = Category::insert([
            "slug" => "analisis-de-datos 4",
            "name" => "Análisis de datos 4",
            "position"=>8
            ],[
                "slug" => "analisis-de-datos 5",
                "name" => "Análisis de datos 5",
                "position"=>8
                ]);
    
     // opcion 4
        $category = Category::insertGetId([
                    "slug" => "analisis-de-datos 9",
                    "name" => "Análisis de datos 9",
                    "position"=>9
                    ]);        
        dd($category);
    }
}

Si encuentras útil este contenido, no olvides darle like, suscribirte para más tutoriales de Laravel, y compartir con tus colegas desarrolladores. ¡Hagamos juntos el desarrollo web más eficiente y efectivo!


Leido 875 veces

Compartir link del tutorial con tus amigos


Laravel 9 Página Web para Negocio Laravel 9 Página Web para Negocio

Curso Laravel 9 Avanzado Desarrollo Web Administrable para negocio

Descarga del código fuente

USD 10.00

Aprende más sobre Laravel

Cursos de programación

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023