2

nested_setこれはビヘイビアーを使用して簡単に実行できるはずの何かのように見えるので、私は何かが欠けていると確信しています。

複数のカテゴリに分類されるリストがあります。カテゴリは、Propelの動作を使用して管理されます。カテゴリには、各カテゴリのリストをカウントするために使用される呼び出しもあります。nested_setaggregate_columnlisting_count

個々のカテゴリごとに、これは完全に機能します。私が問題を抱えているのは、カテゴリの各祖先の合計を累積することです。

たとえば、「スポーツ」カテゴリには、「ゴルフ」、「サッカー」、「テニス」という3つの子があります。「テニス」カテゴリには、「草」と「粘土」という2つの子があります。「Clay」にリストが追加されたら、「Sport」と「Tennis」の合計も更新する必要があります。

私はこれを達成するための(良い)方法を理解することはできません。誰かが光を当てることができますか?

4

1 に答える 1

0

おそらくドキュメントに従って ください(テストされていません):

// increase listing_count counter for ancestors of Clay

$path = $clay->getAncestors();

foreach($path as $node)
{
  $node->setListingCount($node->getListingCount()+1);
  $node->save();
}
于 2011-01-07T12:02:33.630 に答える