Đâ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
Tóm Tắt
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
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
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
Mở file facetory trong thư mục database\facetories và khai báo các trường như sau
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
Tiến hành khai báo nội dung file seeder như sau
Ở 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 :
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
Kiểm tra database để thấy dữ liệu đã thêm vào
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.
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