Исключение TWIG "... EntityCategoryProxy не может быть преобразовано в int в ..." - PullRequest
1 голос
/ 29 марта 2012

Я получил это исключение "... EntityCategoryProxy не может быть преобразован в int in ...", когда я хотел сделать такой цикл в своем шаблоне TWIG:

{% for category in categories %}     
{{category.name}}
     {% for fund in funds %}
        {% if fund.category == category.id %} <<<<<<< EXCEPTION LINE
            {{fund.fundName}}
        {% endif %}
    {% endfor %}
{% endfor %}

ПОЛУЧЕНИЕ РАБОЧЕЙ КАТЕГОРИИ (после принятого изменения ОТВЕТА)

    $repository2 = $this->getDoctrine()
        ->getRepository('ToolsTFIBundle:Category');
    $query2 = $repository2->createQueryBuilder('c')
        ->orderBy('c.name','ASC')
        ->getQuery();
    $categoryList = $query2->getResult();

ТАКЖЕ ПОЛУЧЕНИЕ РАБОЧЕЙ КАТЕГОРИИ (после принятого изменения ОТВЕТА)

    $em = $this->getDoctrine();
    $categoryList = $em->getRepository( 'ToolsTFIBundle:Category' )
                                    ->findAll();

"fund.category" - это внешний ключ, сопоставленный с "category.id" через Doctrine2 ORM. Есть ли возможность сделать этот цикл действительным и работающим?

1 Ответ

3 голосов
/ 29 марта 2012

fund.category не сопоставима с category.id, потому что fund.category является сущностью.

Используйте fund.category.id == category.id

...