- Bài 1: Laravel là gì, hướng dẫn cài đặt Laravel
- Bài 2: Cấu trúc project Laravel
- Bài 3: Route trong Laravel
- Bài 4: Controller trong Laravel
- Bài 5: Quản lý bảng bằng Migrations
- Bài 6: Tạo dữ liệu mẫu với Seeding
- Bài 7: Model trong Laravel
- Bài 8: Thao tác với Database qua Eloquent Model
- Bài 9: Relationships trong Laravel
- Bài 10: View trong Laravel
- Bài 11: Blade template engine trong Laravel
- Bài 12: Truyền tham số từ Controller sang View
- Bài 13: Form Request trong Laravel
- Bài 14: Middleware trong Laravel
- Bài 15: Validation trong Laravel
- Bài 16: Tìm hiểu Authentication
Bài 6: Tạo dữ liệu mẫu với Seeding - Học lập trình Laravel
Đăng bởi: Admin | Lượt xem: 4199 | Chuyên mục: Laravel
1. Seeding là gì?
Seeding hay còn gọi là seeder, seed... thực ra nó là một class chứa code để tạo ra các dummy data (dữ liệu mẫu) cho database trong quá trình xây dựng ứng dụng
Trong Seeder chúng ta có thể viết code của Query Builder
2. Sử dụng seeder
Sử dụng seeder gốc
Mặc định trong laravel có cung cấp cho chúng ta một DatabaseSeeder.php trong thư mục database/seeds/ có code sẵn như sau:
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// $this->call(UsersTableSeeder::class);
}
}
Và để sử dụng nó chúng ta chỉ cần viết code của Query Builder vào đó.
VD: Mình sẽ thêm dữ liệu cho bảng users (name, email, password) như sau:
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('users')->insert([
'name' => str_random(10),
'email' => str_random(10).'@gmail.com',
'password' => bcrypt('secret'),
]);
}
}
Và để chạy nó chúng ta sẽ dùng lệnh.
php artisan db:seed
Tuy nhiên thông thường khi làm dự án thực tế thì chúng ta sẽ không lên làm như thế, bởi vì như thế sẽ rất khó quản lý, nên chúng ta sẽ phải chia nhỏ ra từng file cho từng table để quản lý.
Tạo seeder
Để tạo Seeder trong Laravel chúng ta dùng lệnh:
php artisan make:seed seedName
Với seedName: là tên của seed các bạn muốn tạo (nên đặt tên có ý nghĩa để sau này dễ quản lý).
VD: Mình muốn tạo file Users.php để quản lý dữ liệu cho bảng users.
Đầu tiên chúng ta sẽ dùng lệnh: php artisan make:seed Users.php.
Sau đó chúng ta vào database/seeds sẽ thấy một file Users.php có nội dung như sau:
<?php
use Illuminate\Database\Seeder;
class Users extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
}
}
Giờ chúng ta chỉ cần chèn code Query Builder vào hàm run như VD trên là được.
Tiếp đó chúng ta sẽ có hai cách chạy:
- Dùng lệnh: php artisan db:seed --class=Users
- Vào file DatabaseSeeder.php thêm đoạn $this->call(Users::class); vào hàm run (Users có thể thay đổi bằng tên file của bạn muốn thực hiện lệnh) và chúng ta lại dùng lệnh php artisan db:seed
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!
- Bài 1: Laravel là gì, hướng dẫn cài đặt Laravel
- Bài 2: Cấu trúc project Laravel
- Bài 3: Route trong Laravel
- Bài 4: Controller trong Laravel
- Bài 5: Quản lý bảng bằng Migrations
- Bài 6: Tạo dữ liệu mẫu với Seeding
- Bài 7: Model trong Laravel
- Bài 8: Thao tác với Database qua Eloquent Model
- Bài 9: Relationships trong Laravel
- Bài 10: View trong Laravel
- Bài 11: Blade template engine trong Laravel
- Bài 12: Truyền tham số từ Controller sang View
- Bài 13: Form Request trong Laravel
- Bài 14: Middleware trong Laravel
- Bài 15: Validation trong Laravel
- Bài 16: Tìm hiểu Authentication