のsymfonyからのArrayCollectionを数える2.8反復や小枝
[OK]を、私はこのようになりますカテゴリーエンティティがあります。
class Category
{
// ... //
/**
* @ORM\OneToMany(targetEntity="Classified", mappedBy="category")
*/
private $classified;
// ... //
public function __construct()
{
$this->classified = new ArrayCollection();
}
}
をし、クラシファイドエンティティは次のようになります。 クラスは
{
/**
* @ORM\ManyToOne(targetEntity="Category", inversedBy="classified")
*/
private $category;
}
を分類します
私のresult.html.twigでは、コントローラを次のようにレンダリングするよう呼びかけました:
基本的に順番にクエリのCategoryRepositoryを呼び出すカテゴリーコントローラclass CategoryController extends Controller
{
public function displayCategoryPanelListAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$categories = $em->getRepository('ClassifiedBundle:Category')
->findAllOrderedByName();
return $this->render('ClassifiedBundle:Front/Widgets:category-panel-list.html.twig',
array(
'categories' => $categories
));
}
}
を呼び出し
:
最後に、カテゴリパネル-list.html.twigにレンダリングされるclass CategoryRepository extends EntityRepository
{
public function findAllOrderedByName()
{
$query = $this->createQueryBuilder('c')
->select('c, cc')
->leftJoin('c.classified', 'cc')
->orderBy('c.name', 'ASC')
->getQuery()
->getResult();
return $query;
}
}
:
<ul>
{% for c in categories %}
<li>
<a href="#">
<i class="fa {{ c.icon }}"></i>
{{ c.name }} <span class="category-counter">{# COUNT SHOULD GO HERE#}</span>
</a>
</li>
{% endfor %}
</ul>
ここで、これらはすべて、分類された配列コレクション部分とは別に問題なく動作します。私は{{ c.classified|length }}
を試しましたが、これは致命的なエラーをもたらします。
ダンプが格好よくて、分類されたコレクションのエントリが表示されますが、カウントする方法はわかりません。カテゴリには空の機密コレクションがあります。
を使用する必要があります
"私が試してみました{{c.classified |長さ}}が、これは致命的なエラーが発生します。" - 致命的なエラーは何ですか? – Malcolm