0

Symfony のドキュメンテーション ブックの DoctrineMongoDBBundle チュートリアルを実行しようとしています。テスト用の「製品」コレクションを作成し、問題なく挿入できますが、読み戻すことができないようです。または、少なくとも、ビューに印刷する結果が得られません。

SymfonyProfiler は、クエリが実行されていることを示しています。しかし、私の画面には何も表示されません。ビューで foreach ループをコメントアウトしないと、ツールバーも表示されません。

コントローラーコード:

/**
* @route("/dbReadTest2/{id}")
* @Template()
*/
public function showAction()
{
    $repository = $this->get('doctrine_mongodb')
        ->getManager()
        ->getRepository('AcmeStoreBundle:Product');

    $products = $repository->findAll();

    return $this->render('AcmeStoreBundle:Default:index.html.twig', array(
        'products' => $products,
    ));
}

コードを表示:

{% if products.count %}
  In if Block
  <ul>
  {% for product in products %}
    In For Loop
    <li>{{ product.name }} </li>
  {% endfor %}
  </ul>
{% else %}
    <p>. There are no products yet!</p>
{% endif %}
<p>End of Page</p>

ロード後に得られる唯一の出力は「In If Block」です。他のコメントは表示されません。

ありがとうございました!

4

2 に答える 2

0

@ユーザー2566987

1)渡された $products 変数にアクセスするための小枝のコードは間違いなく間違っています。私はあなたのためにそれをコーディングするのに十分な時間はありませんが、解決策を案内することができ{{ dump(products) }}ますデータ配列に変換し、適切な構文で出力します。count3)クラス プロダクトのプライベート メンバーなど、クラスが存在しない場合、クラスのプロパティ フィールドにアクセスすることはできません。リンクチュートリアルhttp://symfony.com/doc/master/bundles/DoctrineMongoDBBundle/index.htmlに表示されません

役立つことを願っています。

于 2016-01-12T18:34:55.647 に答える