[英]Yii : Products with MANY_MANY categories and categories may or not has parent. Get all products
我有以下SQL模式:
tbl_products :-id-id_category
tbl_categories :-id-id_parent
tbl_products_categories :-id_product-id_category
我的問題是:在我的類別模型中,為了從該類別及其子類別中獲取所有產品,我必須聲明哪種關系? 我可以從某個關系中獲取所有產品,還是必須為每個子類別創建一種循環方法,然后合並所有產品並返回它?
有人知道嗎?
嵌套關系(例如類別或菜單項之間的關系)非常棘手。 當您有約束(例如最大子代數)時,這種情況要簡單一些。 在這種情況下,您的產品標准將包含盡可能多的關聯關系(在這種情況下,我不會使用Yii的關系活動記錄;在我看來,它會使它變得過於復雜)。
否則,是的,最好的選擇是遞歸遍歷每個關系並返回合並的數組。 注意:這可能會極大地提高性能,因此您可能希望在執行此操作的頁面上進行某種形式的緩存。
由於數量很多,每個產品都可以與當前所需的子級及其所有父級關聯,因此當您查詢父級時,所有子級產品也將是父級產品。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.