12/08/2018, 15:06

Mối quan hệ giữa các model trong laravel

Các bảng trong cơ sở dữ liệu thường có liên quan tới một bảng khác. Ví dụ một blog có thể có nhiều comment, hay một đơn hàng sẽ phải có thông tin liên quan của người dùng mà đã đặt nó. Eloquent giúp cho quản lý và làm việc với những quan hệ này một cách đơn giản và hỗ trợ nhiều kiểu quan hệ: -Định ...

Các bảng trong cơ sở dữ liệu thường có liên quan tới một bảng khác. Ví dụ một blog có thể có nhiều comment, hay một đơn hàng sẽ phải có thông tin liên quan của người dùng mà đã đặt nó. Eloquent giúp cho quản lý và làm việc với những quan hệ này một cách đơn giản và hỗ trợ nhiều kiểu quan hệ: -Định nghĩa relationships

Eloquent relationships được định nghĩa như một hàm trong class Eloquent model. Vì vậy, giống như là Eloquent mô tả chính mình, các quan hệ cũng phục vụ rất mạnh mẽ bởi query builders, định nghĩa các relationshipsnhư các hàm cũng cấp các ràng buộc mạnh mẽ và khả năng truy vấn. Ví dụ. chúng ta có thể nối thêm constraints vào posts relationship:

Trong Eloquent thì có 3 kiểu quan hệ phổ biến -Mối quan hệ 1-1 -Mối quan hệ 1-n -Mối quan hệ n-n (Thường sẽ được tách để tạo ra 1 bảng trung gian ) Quan hệ 1-1 :

  • Quan hệ một - một một quan hệ đơn giản. Ví dụ, một User model có thể liên quan với một Phone. Quan hệ 1-n: Một danh mục sản phẩm thì có nhiều sản phẩm .(1-n) .Khóa ngoại của bảng 1 sẽ được đem sang bảng nhiều. Quan hệ n-n : Một hóa đơn sẽ có nhiều sản phẩm ngược lại một sản phẩm thì sẽ nằm trong nhiều hóa đơn .Một bảng sẽ được phát sinh là bảng chi tiết hóa đơn.Lưu thông tin của 2 bảng hóa đơn và sản phẩm thông qua các khóa ngoại.
0