- vừa được xem lúc

Khám Phá Mối Quan Hệ HasManyThrough Trong Laravel ORM

0 0 1

Người đăng: Hiếu trần mạnh

Theo Viblo Asia

Giới thiệu kiến thức về các mối quan hệ chính trong Laravel ORM cơ bản

Trong Model chúng ta có các mối quan hệ cơ bản là :

  • BelongTo: Một với nhiều
  • Hasmany: Nhiều với một
  • BelongMany : quan hệ nhiều nhiều

Tại sao phải dùng ->hasManyThrough ?

Trong những trường hợp phức tạp hơn

Trong model khi chúng ta muốn định nghĩa những quan hệ bao chứa trong đó những quan hệ trung gian

Ví dụ : Một Order( đơn hàng ) quan hệ HasMany với OrderItem ( các món hàng trong đơn hàng ) , Và OrderItem lại có quan hệ BelongTo với Version ( Phiên bản sản phẩm ) Ta muốn dùng cho tiện Order để truy cập trực tiếp đến Version khi này tta sẽ dùng quan hệ ->hasManyThrough

Cách sử dụng thế nào?

Trong ví dụ ở trên ta có thể dùng như sau

public function versions()
{ return $this->hasManyThrough( Version::class, // Model Version OrderItem::class, // Model trung gian 'order_id', // Khóa ngoại ở OrderItem tham chiếu tới Order 'id', // Khóa chính trong Version 'id', // Khóa chính trong Order 'version_id' // Khóa ngoại ở OrderItem tham chiếu tới Version );
}

Cách sử dụng quan hệ này

$order = Order::find(1); // Giả sử bạn muốn tìm order có id là 1
$versions = $order->versions; // Lấy tất cả các versions thông qua quan hệ đã định nghĩa

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tài nguyên nghiên cứu sâu Html

1. Articles and standards. . HTML 5.

0 0 201

- vừa được xem lúc

Embedded Template in Go

Getting Start. Part of developing a web application usually revolves around working with HTML as user interface.

0 0 59

- vừa được xem lúc

Full Stack Developer Roadmap 2021

Cách để trở thành một Full Stack Web Developer trên thế giới hiện nay. Các công ty đang luôn săn đón những developer có nhiều kĩ năng để cung cấp cho họ sự linh hoạt trong các dự án.

0 0 38

- vừa được xem lúc

Những kiến thức hay về Gradient: Gradient đẹp nhất chỉ được tìm thấy ở ngoài thiên nhiên!

. Quen thuộc từ lâu với rất nhiều người, nền Gradient chỉ là những bức nền với 2 hay nhiều dải màu sắc được hòa trộn với nhau. Đơn giản là vậy, nhưng càng ngày Gradient càng phổ biến hơn trong thiết kế Website ngày nay.

0 0 300

- vừa được xem lúc

What Is Session Fixation?

Session Fixation là một kỹ thuật tấn công web. Kẻ tấn công lừa người dùng sử dụng session ID đặc biệt.

0 0 48

- vừa được xem lúc

Làm thế nào để Design của Website thu hút hơn?

Xin chào các bạn. Bởi thế, không phải bàn cãi, thiết kế giao diện vừa thu hút, vừa chuyên nghiệp và ấn tượng là một trong những yếu tố quan trọng nhất trong cả quá trình phát triển 1 website.

0 0 37