VANHIEP.NET - Làm web giá rẻ - Thiết Kế Website - Thiết Kế Ứng Dụng Mobile

Câu lệnh tạo model - controller - migration - facetory - seeder trong laravel

Đây là câu lệnh viết tắt để tạo combo mvc 

hướng dẫn chi tiết thư viện faker trong laravel, hướng dẫn tạo bảng bằng migration, hướng dẫn chi tiết khai báo facetory trong laravel, hướng dẫn chi tiết cách khai báo seed trong laravel

Bước 1 : Chạy lệnh tạo model, controller, migation, facetory, seeder

php artían make:mode NameModel -c -m -f -s

Trong đó 

-c : tạo controller

-m: tạo migration

-f: tạo facetory

-s : tạo seeder

thứ tự các chữ cái có thể đặt trước hay sau đều được

nếu không thêm các chữ cái này thì lệnh chỉ tạo ra mỗi file model

hướng dẫn chi tiết thư viện faker trong laravel, hướng dẫn tạo bảng bằng migration, hướng dẫn chi tiết khai báo facetory trong laravel, hướng dẫn chi tiết cách khai báo seed trong laravel

Sau khi chạy lệnh trên nếu màn hình console hiện thị thông báo như hình thì chúng ta đã tạo chuỗi model, controller, migration, seeder, facetory thành công.

Bước 2 : Khai báo migration 

Mở file migation vửa tạo trong thư mục database\migration

hướng dẫn chi tiết thư viện faker trong laravel, hướng dẫn tạo bảng bằng migration, hướng dẫn chi tiết khai báo facetory trong laravel, hướng dẫn chi tiết cách khai báo seed trong laravel

 

Mình sẽ khai báo bảng dữ liệu như hình. gồm trường ID, Name, Slug, Type, Parent_id

Bước 3 : cài đặt thư viện facetory

Chạy lệnh sau để cài đặt

composer require fzaninotto/faker

Sau khi chạy lệnh trên thì ta chạy lệnh sau để cập nhật lại các thư viện mới cài

composer dump-autoload 

Bước 4 : Khai báo cho file facetories chúng ta vừa tạo

Khai báo thư viện cần dùng 

hướng dẫn chi tiết thư viện faker trong laravel, hướng dẫn tạo bảng bằng migration, hướng dẫn chi tiết khai báo facetory trong laravel, hướng dẫn chi tiết cách khai báo seed trong laravel

Mở file facetory trong thư mục database\facetories và khai báo các trường như sau

hướng dẫn chi tiết thư viện faker trong laravel, hướng dẫn tạo bảng bằng migration, hướng dẫn chi tiết khai báo facetory trong laravel, hướng dẫn chi tiết cách khai báo seed trong laravel

Các hàm $faker->text, $faker->randomElement() là các hàm có sẵn của thư viện facetory. xem tại link 

Bước 5 : Khai báo seeder 

Mở file seeder trong thư mục database\seeders

Khai báo models và thư viện facetory

hướng dẫn chi tiết thư viện faker trong laravel, hướng dẫn tạo bảng bằng migration, hướng dẫn chi tiết khai báo facetory trong laravel, hướng dẫn chi tiết cách khai báo seed trong laravel

Tiến hành khai báo nội dung file seeder như sau 

hướng dẫn chi tiết thư viện faker trong laravel, hướng dẫn tạo bảng bằng migration, hướng dẫn chi tiết khai báo facetory trong laravel, hướng dẫn chi tiết cách khai báo seed trong laravel

Ở hàm trên ta gọi thư viện facetory thêm vào 20 bản ghi. Vì bảng này có trường parent_id nên ta xử lý bằng cách thêm bản ghi trước sau đó lặp tất cả bản ghi đã thêm để cập nhật trường parent_id.

chúng ta vẫn sử dụng hàm randomElement để chọn ngẫu nhiên 1 giá trị trong mảng khai báo trước. Ở hàm trên nếu bản ghi có id = 1 và id = 2 thì chúng ta sẽ cho parent_id = 0 để không bị xung đột parent_id

Bước 6 : Thêm class seeder của chúng ta vừa tạo vào file chạy chính

Mở file DatabaseSeeder.php trong thư mục database/seeders và khai báo như sau : 

hướng dẫn chi tiết thư viện faker trong laravel, hướng dẫn tạo bảng bằng migration, hướng dẫn chi tiết khai báo facetory trong laravel, hướng dẫn chi tiết cách khai báo seed trong laravel

Các bạn chèn models vào sau đó dùng $this->call để gọi đến class seeder đã khai báo. xem hình minh họa

Bước 7 : Chạy lệnh migrate và seed để tạo bảng và thêm dữ liệu fake vào database

Chúng ta chạy lệnh sau 

php artisan migrate:refresh --seed

Nếu không có lỗi phát sinh thì chúng ta đã thành công

hướng dẫn chi tiết thư viện faker trong laravel, hướng dẫn tạo bảng bằng migration, hướng dẫn chi tiết khai báo facetory trong laravel, hướng dẫn chi tiết cách khai báo seed trong laravel 

Kiểm tra database để thấy dữ liệu đã thêm vào

hướng dẫn chi tiết thư viện faker trong laravel, hướng dẫn tạo bảng bằng migration, hướng dẫn chi tiết khai báo facetory trong laravel, hướng dẫn chi tiết cách khai báo seed trong laravel

Sau khi xem hướng dẫn viết API trong laravel và xem thêm bài viết này chúng ta có thể viết API và tạo dữ liệu tạm cho API để chúng ta test trước khi viết các module thêm dữ liệu.

Dowload code

Tổng kết : Qua bài viết này mình đã hướng dẫn chi tiết cách tạo model. controller, migrate, factory và seeder trong cùng 1 câu lệnh. Hướng dẫn chi tiết cách cài đặt thư viện facker và thứ tự các bước để khai báo bảng dữ liệu, khai báo faker và chạy seed để thêm dữ liệu vào database.

Chúc bạn thành công