Bài tập

Hãy cùng tạo mô hình trong Laravel 5.8

Huy Erick

Hôm nay, trong hành trình của chúng ta với #100DaysOfCode, tôi muốn chia sẻ với các bạn về việc tạo mô hình trong Laravel 5.8. Việc này không hề đơn giản, nhưng chúng ta hãy...

Hôm nay, trong hành trình của chúng ta với #100DaysOfCode, tôi muốn chia sẻ với các bạn về việc tạo mô hình trong Laravel 5.8. Việc này không hề đơn giản, nhưng chúng ta hãy khám phá và tìm hiểu một cách nhẹ nhàng.

Laravel là một framework được xây dựng theo mô hình MVC (Model - View - Controller). Model đóng vai trò chuẩn bị dữ liệu cho Controller và View được sử dụng để hiển thị dữ liệu cho người dùng.

Để tạo một mô hình, chúng ta có thể sử dụng lệnh php artisan make:model. Ví dụ, để tạo mô hình Product, chúng ta có thể chạy lệnh:

php artisan make:model Product -migration

Lệnh trên sẽ tạo một mô hình Product và một file migration tương ứng trong thư mục App\Database\Migrations để tạo cơ sở dữ liệu cho mô hình.

Ngoài ra, Laravel cung cấp rất nhiều tùy chọn để tạo các lớp model khác nhau. Ví dụ:

  • Tạo một lớp factory trong đường dẫn App\Database\Factories để tạo dữ liệu mẫu cho bảng.

    php artisan make:model Product -factory
  • Tạo mô hình Product và lớp ProductSeeder trong App\Database\Seeds.

    php artisan make:model Product -seed
  • Tạo mô hình Product và đồng thời tạo lớp ProductController trong App\Http\Controllers.

    php artisan make:model Product -controller

Nếu bạn muốn tạo các lớp riêng biệt theo ý muốn, bạn có thể sử dụng các lệnh sau đây:

  • Tạo lớp factory ProductsFactory.

    php artisan make:factory ProductsFactory
  • Tạo lớp seeder ProductsTableSeeder.

    php artisan make:seeder ProductsTableSeeder
  • Tạo lớp controller ProductController.

    php artisan make:controller ProductController

Sau khi đã tạo thành công các model, chúng ta cần cấu hình quan hệ giữa các model như sau:

Trong file App\Product.php, chúng ta có:

public function comments() {     return $this->hasMany('App\Comment'); }

Trong file App\Comment.php, chúng ta có:

public function product() {     return $this->belongsTo(Product::class); }

Để kiểm tra quan hệ giữa các model, chúng ta có thể tạo dữ liệu mẫu để kiểm tra. Sau đó, chúng ta có thể sử dụng controller ProductController để hiển thị sản phẩm và bình luận tương ứng.

public function index() {     $products = Product::all()->toArray();     $comments = Comment::all()->toArray();     $data = Product::with("comments")->get()->toArray();     dd(["products" => $products, "comments" => $comments, "ProductComment" => $data]); }

Cuối cùng, không quên chạy lệnh migration để tạo các bảng trong cơ sở dữ liệu của chúng ta:

php artisan migrate

Và đó là cách chúng ta có thể tạo mô hình trong Laravel 5.8. Hãy tiếp tục khám phá và tìm hiểu thêm về chủ đề này. Chúc các bạn thành công trong hành trình #100DaysOfCode!

1