0

まず、タイトルについてお詫び申し上げます。この問題に適したタイトルが見つかりませんでした。

既に存在する Symfony プロジェクトに取り組んでおり、何かを追加する必要があります。だから私はそれを読んでいて、配列が使用されているところまで来て、それがどのように機能するのか理解できません。

$this->categories = Doctrine_Query::create()
            ->from('Category c')
            ->leftJoin('c.Sizings s')
            ->where('c.level = 0')
            ->orderBy('c.id ASC, s.gender ASC, s.size ASC')
            ->execute();

        $rCategories = Doctrine_Query::create()
            ->from('Category c');
        $allCategories = $rCategories->execute();

        $cat = array();
        foreach($allCategories as $c) {
              [...]
              $cat[$c->getRootId()]['children'][$c->getId()]['root'] = $c;
              [...]

そこで、値とこれにアクセスする方法を確認するためにいくつかのテストを行いました:

$cat[$c->getRootId()]['children'][$c->getId()]['root'] = $c;
    foreach($cat as $ca){
      print($ca['root']);
      echo '<br/>';
      foreach($ca['children'] as $child){
        print($child['root']);
      }
    }
die;

ディスプレイ:

テニスラケット //メインカテゴリーです
Thunder //そして、これはサブカテゴリです

まず、名前ではなく ID ではないのはなぜですか。

このコードは正確には何を意味しますか?

$cat[$c->getRootId()]['children'][$c->getId()]['root'] = $c;

最後にこれがあります:

$this->allCategories = $cat;

$allCategories各カテゴリとそのサブカテゴリを表示し、それを indexSuccess に含めるために部分的に使用します。

しかし、これが最後のポイントです。新しいコラムを作成する必要があります。列はすでにDBにあり、アクションクラスでその値にアクセスできます

$c->getBrand();

それを配列 cat に$this->allCategories入れてから、indexSuccess で使用するパーシャルでアクセスし、最後にパーシャルで持っていた列ブランドに値を設定できるようにしたいと思います。

私は十分に明確ではないことを恐れていますが、一言で言えば:私はこの行を理解していません:

$cat[$c->getRootId()]['children'][$c->getId()]['root'] = $c;

そして、配列 $cat に新しいパラメーターがあり、indexsuccess を介してそれを渡した後、この新しい値にアクセスしたいと思います

$this->allCategories = $cat;

そして、新しい価値にアクセスする方法を知りたいです。

これを読んでくれてありがとう。

4

1 に答える 1