Latest Post

Tăng thứ hạng và truy cập tự nhiên với 10 phương pháp SEO hay nhất Kiếm Tiền Online (mmo): Khái Niệm và Các Hình Thức Phổ Biến

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' => '[email protected]',
            'password' => bcrypt('123456'),
        ]);
    }
}

Đoạn code trên sẽ tạo ra user có thông tin đăng nhập là [email protected]/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ả:

Trả lời

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 *