Nested Set モデルを使用してカテゴリに取り組んでいます。私のDB設計はこのようなものです
- 表 1: カテゴリ (id、lft、rgt、count1、count2)
- 表 2: Items1 (id, catid, .....) -- catid はカテゴリ テーブルの ID です
- 表 3: Items2 (id, item1_id, ....) -- item1_id は、Items 1 テーブルの ID です。
ここで、Items1 には catid 列があるため、以下の SQL を使用してネストされたセット モデルを使用して、ツリーの下にある項目の数を簡単に計算できます。
SELECT
parent.id, COUNT(items.id) as item_count
FROM
categories AS node ,
categories AS parent,
items1 AS items
WHERE
node.nleft BETWEEN parent.nleft AND parent.nright
AND node.id = items.catid
AND items.published = 1
GROUP BY
parent.id
ORDER BY
node.nleft;
その SQL から各カテゴリを更新します。
ツリーの下の各カテゴリのアイテム数を items2 テーブルから count2 列に更新する方法を教えてください。
あなたの助けに感謝。