Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Hướng dẫn tạo user mặc định sử dụng Laravel Seeder - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Trong bài viết trước, blog đã hướng dẫn cách tạo xác thực Laravel Auth và giao diện người dùng (UI). Các bạn có thể tạo người dùng từ trang đăng ký của Laravel một cách dễ dàng. Tuy nhiên, khi chúng ta triển khai sản phẩm lên môi trường production, việc tạo người dùng đầu tiên để đăng nhập là một vấn đề quan trọng. Chúng ta không thể nhập thủ công từ cơ sở dữ liệu mỗi lần.

Trong trường hợp này, giải pháp thông thường là chúng ta sẽ viết một script để tạo một người dùng mặc định, thường là người dùng quản trị (admin). Trong Laravel, bạn có thể thực hiện điều này dễ dàng bằng cách sử dụng các artisan command và Seeder.

Laravel Seeder là gì? chúng tôi sẽ cập nhật trong 1 bài viết khác.

Tạo User mặc định sử dụng Laravel Seeder

Bước 1: Sử dụng command artisan sau để tạo 1 file UserSeeder.php

php artisan make:seeder UserSeeder

Bước 2: Sử file database/seeders/UserSeeder.php vừa tạo ra.

<?php

namespace DatabaseSeeders;

use IlluminateDatabaseConsoleSeedsWithoutModelEvents;
use IlluminateDatabaseSeeder;

class UserSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run(): void
    {
        // Create admin user
        AppModelsUser::factory()->create([
            'name' => 'Admin',
            'email' => 'admin@vinasupport.com',
            'password' => bcrypt('123456'),
        ]);
    }
}

Đoạn code trên sẽ tạo ra user có thông tin đăng nhập là admin@vinasupport.com/123456.

Bước 3: Sửa file database/seeders/DatabaseSeeder.php để call file vừa tạo

<?php

namespace DatabaseSeeders;

// use IlluminateDatabaseConsoleSeedsWithoutModelEvents;
use IlluminateDatabaseSeeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run(): void
    {
        // AppModelsUser::factory(10)->create();
        $this->call(UserSeeder::class);
    }
}

Bước 4: Chạy command artisan để seed dữ liệu vào database.

php artisan db:seed --class=UserSeeder

Kết quả:

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *