Chúng tôi đã nhận được yêu cầu đối tượng liên tục và tương ứng. Đối với hướng dẫn ví dụ về laravel seeder trong nhiều ngày. Bây giờ, với sự đồng thuận của bạn, hãy hiểu khái niệm về trình tạo seeder laravel với ví dụ
Tại sao cần phải đẩy chủ đề trình gieo cơ sở dữ liệu trong hướng dẫn laravel? . Trong quá trình phát triển, việc thêm dữ liệu thực vào hơi khó khăn. Đây là những gì Database Seeder đặt ra để làm. Nó tạo dữ liệu giả hoặc giả cho bạn và kết hợp dữ liệu trong bảng cơ sở dữ liệu
Với nó, bạn có thể tạo đồng thời một máy gieo hạt hoặc nhiều máy gieo hạt. Bạn có thể kiểm tra ứng dụng laravel của mình bằng dữ liệu, dữ liệu này có vẻ thực ở một mức độ nào đó
Hướng dẫn này tạo ra các cơ hội tuyệt vời và trả lời các câu hỏi sau một cách tự nhiên
- Trình tạo cơ sở dữ liệu trong laravel là gì
- Cách tạo seeder trong laravel
- Tại sao chúng ta nên sử dụng database seeder trong laravel
Đừng lo lắng, tôi sẽ cố gắng trả lời tất cả các câu hỏi trên trong hướng dẫn này trong khả năng tốt nhất của mình
Ví dụ về trình tạo cơ sở dữ liệu Laravel
Hãy hiểu những gì laravel chính thức nói về Database Seeder
Laravel thêm một quy trình đơn giản để tạo cơ sở dữ liệu với dữ liệu thử nghiệm. Khác, các lớp seeder được giữ bên trong thư mục cơ sở dữ liệu/hạt giống
Nói chung, bạn có thể đặt tên cho bất cứ thứ gì bạn muốn, nhưng những cái tên chung chung nghe hợp lý hơn. Chẳng hạn như EmployeeSeeder, v.v. Nó đi kèm với lớp DatabaseSeeder, đây là lớp mặc định. Từ đây, bạn cũng có thể gọi các lớp seeder khác
Mục lục
Cài đặt dự án Laravel
Cuối cùng, để hiển thị cho bạn bản demo của trình tạo cơ sở dữ liệu trong laravel, chúng ta cần cài đặt một dự án laravel mới ngay từ đầu. Nếu muốn, bạn có thể bỏ qua bước này, nhưng chỉ khi bạn đã cài đặt ứng dụng
composer create-project laravel/laravel laravel-database-seeder --prefer-distỞ trên, lệnh liên hợp toàn bộ tệp dự án trong một thư mục. Sau đó, chúng ta phải vào bên trong thư mục dự án
cd laravel-database-seederThiết lập kết nối cơ sở dữ liệu
Chúng tôi đã thiết lập một dự án laravel mới và bước tiếp theo là thiết lập cơ sở dữ liệu với MySQL. Chúng tôi viết toàn bộ hồi ký bên trong cơ sở dữ liệu MySQL, chẳng hạn như tạo cơ sở dữ liệu, bảng hoặc gieo các giá trị bên trong bảng
Mở tệp cd laravel-database-seeder7 của bạn và đặt đoạn mã sau, nó tạo kết nối thường xuyên giữa laravel và cơ sở dữ liệu để quản lý dữ liệu
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=Nếu bạn đang sử dụng máy chủ cục bộ MAMP trong macO; . tập tin env
UNIX_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sockQuản lý mô hình và di chuyển
Theo khung MVC, Mô hình được cho là xử lý logic nghiệp vụ của ứng dụng. Mô hình là một lớp nền tảng mô tả tốt nhất kiến trúc logic và mối quan hệ của một bảng dữ liệu trong cơ sở dữ liệu
Bạn cũng phải biết rằng mỗi bảng dữ liệu đều có một mô hình tương ứng, mô hình này truyền dữ liệu
Chạy lớp nghệ nhân để tạo một mô hình cd laravel-database-seeder8
php artisan make:model Employee -mMở cơ sở dữ liệu/di chuyển/dấu thời gian_employee_table. php và thêm đoạn mã dưới đây
public function up() { Schema::create('employees', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->string('phone'); $table->string('department'); $table->string('dob'); $table->timestamps(); }); }Mở ứng dụng/Mô hình/Nhân viên. php và xác định các giá trị phương thức trong giá trị cd laravel-database-seeder9
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Employee extends Model { use HasFactory; public $fillable = [ 'name', 'email', 'phone', 'department', 'dob', ]; }Để chạy di chuyển, hãy thực hiện lệnh bên dưới
php artisan migrateTạo Seeder
Chúng ta phải chạy lệnh sau để tạo Seeder dành riêng cho bảng Nhân viên
php artisan make:seeder EmployeeSeederCuối cùng, lệnh trên đã tạo ra trình gieo hạt trong cơ sở dữ liệu/hạt giống/EmployeeSeeder. tập tin php. Không có gì lạ, nếu bạn tạo ra nhiều hạt giống hơn, thì chúng cũng sẽ được giữ ở đây
public function run() { Employee::create([ 'name' => 'John Doe', 'email' => 'doejohn@gmail.com', 'phone' => '1234567890', 'department' => 'hr', 'dob' => '2010-01-03', ]); }Vì vậy, chúng tôi đã định cấu hình các giá trị sau sẽ được lưu trữ trong cơ sở dữ liệu
- Tên
- điện thoại
- Phòng ban
- dob
Nếu bạn cần tạo thêm tệp trình tạo cơ sở dữ liệu, thì bạn có thể thực hiện. Để tạo trình tạo cơ sở dữ liệu vô biên, hãy sử dụng lệnh trên
Xác định các Seeder bổ sung hoặc nhiều
Hướng dẫn này giúp chúng ta làm quen với single seeder giống như việc tạo một single seeder và gọi nó là. Bây giờ, nếu bạn cần tạo nhiều seeder thì sao?
Vâng, không phải lo lắng. Bạn phải sử dụng lại lệnh seeder để tạo một seeder mới, như sau
cd laravel-database-seeder0Sau đó, bạn phải định nghĩa MyNewSeeder bên trong lớp DatabaseSeeder và mọi lớp seeder chỉ được liên hợp ở đây từ mục đích gọi
Hãy nhớ rằng đây là bước cơ bản nhưng thông thường và nó cần được tuân theo mỗi khi bạn tạo một trình tạo mới hoặc để gọi nhiều trình tạo cơ sở dữ liệu
cd laravel-database-seeder1Cuối cùng, sau khi viết một seeder mới, bạn có thể yêu cầu tạo lại trình tải tự động của Composer
cd laravel-database-seeder2Để thực sự hiểu được hoạt động của ấu trùng, tôi muốn lưu ý bạn rằng bạn có thể sử dụng cụ thể tùy chọn –class để tạo lớp cần thiết, đặc biệt. Mặc dù, theo mặc định, db. lệnh seed artisan tạo lớp DatabaseSeeder
cd laravel-database-seeder3Việc tạo cơ sở dữ liệu cũng có thể được thực hiện bằng lệnh sau
Lệnh này chịu trách nhiệm loại bỏ tất cả các bảng và bắt đầu lại quá trình di chuyển. Chỉ sử dụng nó khi bạn muốn xây dựng lại cơ sở dữ liệu của mình
Chạy Seeders và Migrate
Bây giờ, chúng ta đã gần như đi đến bước cuối cùng của hướng dẫn này, toàn bộ hồi ký có thể sẽ kết thúc tại đây
Mở cơ sở dữ liệu/hạt giống/DatabaseSeeder. php định nghĩa lớp seeder cơ sở dữ liệu của bạn trong lớp DatabaseSeeder
cd laravel-database-seeder5Cuối cùng, nếu bạn đã hoàn thành nó, hãy thực hiện lệnh được đề cập bên dưới để chạy chạy tất cả các trình gieo hạt đã xác định
cd laravel-database-seeder6Tóm lược
Cuối cùng, hướng dẫn Laravel Database Seeder với ví dụ đã hoàn thành
Tôi hy vọng bạn phải hiểu tất cả các bước mà tôi đã chia sẻ với bạn liên quan đến cách thức hoạt động của trình tạo cơ sở dữ liệu trong laravel với ví dụ
Dù sao đi nữa, nếu bất kỳ bước nào có vẻ mơ hồ đối với bạn, thì hãy chia sẻ phản hồi với tôi. Nó sẽ giúp tôi cải thiện, cảm ơn rất nhiều nghệ nhân trước
máy đào
Tôi là Digamber, một nhà phát triển full-stack và là người đam mê thể dục. Tôi đã tạo trang web này để truyền kinh nghiệm mã hóa của mình cho các lập trình viên mới. Tôi thích viết trên JavaScript, ECMAScript, React, Angular, Vue, Laravel
Twitter GitHubBài viết đề xuất
Laravel 9 Xác thực Giao thức Internet (IPv6) Hướng dẫn Laravel 9 Nhập bản ghi trong SQL với CSV và Seeder Cách triển khai Xác thực tồn tại trong Laravel 9 Form Laravel 9 Livewire Ví dụ về Hướng dẫn tạo Slug mới Laravel 9 Tạo nhiều Slug duy nhất khi tải trang Hướng dẫn Laravel 9 Bootstrap Tags Ví dụ về hệ thống Hướng dẫn Laravel 9 Tạo