Tham khảo thực địa vs Tham chiếu thực thể


14

Làm thế nào là bộ sưu tập lĩnh vực là một lợi thế? Bạn có thể làm điều tương tự với một loại nội dung mới trỏ đến phụ huynh với Tham chiếu thực thể.

Có lẽ ai đó có thể phá vỡ một số tình huống mà mỗi người sẽ tốt hơn.

Nói cho Nhiệm vụ -> Tệp, bộ sưu tập trường sẽ tốt hơn hoặc loại nội dung mới với Tham chiếu thực thể?

Nói cho mỗi tệp bạn cần thêm một số dữ liệu khác về tệp đó, nghe có vẻ như là một kế hoạch cho loại mới với Tham chiếu thực thể, nhưng bạn có thể nhúng bộ sưu tập trường bên trong bộ sưu tập trường.

Tôi thích cách Drupal có nhiều cách để làm những việc giống nhau, nhưng tôi không thể tìm thấy nhiều về sự khác biệt hoặc tương tự của hai giải pháp này.

Có lẽ ai đó có thể giúp giải thích?

Câu trả lời:


15

Đây là câu hỏi tôi tự đặt ra khi đối mặt với các dự án mới, Field Collection vs Entity Reference + thực thể tùy chỉnh hoặc nếu cấu trúc đơn giản, Field Collection so với trường tùy chỉnh với một số cột db / Multifield . Đây là ý kiến ​​của tôi dựa trên kinh nghiệm của tôi .

Multifield là một khái niệm tuyệt vời, nó là một phiên bản "nhẹ" của bộ sưu tập trường, thay vì tạo cấu trúc thực thể với các mối quan hệ, nó bao gồm các trường hợp sử dụng đơn giản mà không tạo thực thể. Tuy nhiên, nó có một số vấn đề , chẳng hạn như không tích hợp Tính năng, không thực sự đa ngôn ngữ, v.v. (vì vậy nếu bạn có kế hoạch sử dụng điều này, các đóng góp có thể sẽ thực sự được hoan nghênh).

Field Collection là một giải pháp tuyệt vời nếu bạn đang làm một trang web có thể được thực hiện chỉ với một vài điều chỉnh ở đây và đó, nó cung cấp cho các nhà xây dựng trang web một công cụ mạnh mẽ để tạo các cấu trúc phức tạp mà không phải lo lắng nhiều về nội bộ. Về cơ bản, nó sẽ tạo ra một thực thể liên quan đến thực thể "máy chủ" bởi các id, cho phép thêm các trường vào nó và mọi thứ. Những nhược điểm sẽ xuất phát từ kiến ​​thức bên trong của bộ sưu tập Trường mà bạn cần thực hiện các thao tác phức tạp như quản lý Bộ sưu tập trường với Tham chiếu thực thể trên đó hoặc di chuyển dữ liệu. Vì nó là một công cụ chung, nên việc đi xa hơn một bước là khá phức tạp.

Một tùy chọn khác mà bạn có đó là sử dụng ECK với Entity Reference, nhưng trải nghiệm của tôi với điều này cho đến nay vẫn là một thảm họa, tôi thấy cách dễ dàng hơn để tạo loại thực thể theo mã mà không cần người trợ giúp.

Đó là vấn đề bạn cần và phù hợp nhất với dự án của bạn, nếu bạn có thời gian và nhà phát triển tạo các loại thực thể liên quan đến mô hình dữ liệu của bạn thông qua Tham chiếu thực thể, bạn sẽ có nhiều quyền kiểm soát hơn đối với những gì đang xảy ra với cấu trúc dữ liệu của bạn, nhưng sau đó bạn cũng là "chịu trách nhiệm" cho điều đó.

Sau khi thử nghiệm một lúc với tất cả các giải pháp được mô tả ở trên, trong nhóm của tôi, chúng tôi luôn tìm kiếm các loại thực thể + ER, nhưng tôi có thể thấy rằng đối với các dự án nhỏ, không di chuyển dữ liệu hoặc thiết lập i18n phức tạp, Field Collection chỉ là cách nhanh nhất để đi.


Tổng quan đẹp. Tôi chỉ muốn nhận xét rằng bộ sưu tập trường không hỗ trợ di chuyển thông qua mô-đun di chuyển.
lefterav

1
Một khía cạnh khác phải làm với phiên bản / sửa đổi. Các loại nội dung (nút) có một giải pháp sẵn sàng để theo dõi các sửa đổi và các thay đổi đối với các bộ sưu tập trường đính kèm được phản ánh tới nút cha. Ngược lại, các thực thể có bản sửa đổi riêng, không liên quan đến thực thể được đề cập.
lefterav

@lefterav thực sự, điều tôi muốn nói là việc di chuyển một bộ sưu tập trường có thể là một nhiệm vụ rất khó khăn đối với một số trường hợp sử dụng và phải được tính đến.
pcambra

3

Nó thực sự phụ thuộc vào dữ liệu bạn nhập vào các trường và việc sử dụng bạn muốn làm với chúng.

Nếu bạn muốn sử dụng Field Collection, hãy chắc chắn rằng bạn có thể làm bất cứ điều gì trong phạm vi của bạn, từ chế độ xem bình thường, đến dịch thuật, lập chỉ mục solr, v.v.

Nếu bạn muốn sử dụng lại thông tin bạn thêm vào bộ sưu tập trường, sẽ tốt hơn nếu sử dụng loại nội dung hoặc thực thể tùy chỉnh. Ví dụ: Một khóa học ở trường đã có 5 chủ đề. Một chủ đề chứa 3 trường: Tiêu đề, giờ và cấp độ. Nếu bạn định sử dụng lại các chủ đề trong một số khóa học ở trường, hãy tìm loại Nội dung / Thực thể tùy chỉnh và sử dụng tham chiếu Thực thể.


0

Chúng phải tương đương về hiệu suất, nhưng bộ sưu tập trường sử dụng API thực thể và không yêu cầu tạo loại nội dung tùy chỉnh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.