Как использовать определенный код PHP (getDoctrine) для отображения комбинированного списка?Я пытался, и результат действительно не так, как ожидалось - PullRequest
0 голосов
/ 21 декабря 2011

Я пытаюсь создать поле со списком со значениями в моей базе данных.

Для этого я решил поместить простой php-код в мой .html.twig

Вот код

<?php
            $villes = $this->getDoctrine()
            ->getRepository('ProjetEsamuzeDiorBundle:Villes')
            ->findAll();

            echo "<select name='ville'>";

            for ($i=0;$i<count($villes)-1;$i++)
            {
                echo "<option value='".$villes[$i]->getId()."'>".$villes[$i]->getNom()."</option>";
            }
            echo "</select>";
        ?>

Выход этого

getDoctrine() ->getRepository('ProjetEsamuzeDiorBundle:Villes') ->findAll(); echo ""; for ($i=0;i".$villes[i]->getNom().""; } echo ""; ?>

Имейте в виду, что это прямо на странице, как если бы эхо было только что, но его нет. Я думал, может быть, это $ this, но замена его на $ villes дала тот же результат

Кроме того, я не вижу, что я вижу именно это

getDoctrine() ->getRepository('ProjetEsamuzeDiorBundle:Villes') ->findAll(); echo "(combobox is empty here)"; ?>

Что я делаю не так?

Ответы [ 3 ]

2 голосов
/ 21 декабря 2011

Вы не можете использовать PHP в шаблонах веток.Twig анализируется и преобразуется в PHP, но код PHP не интерпретируется.Вы должны использовать синтаксис веток.

Более того, вам действительно не следует помещать логику в шаблоны.Twig делает отличную работу, мешая вам сделать это.Запрос к базе данных должен идти к контроллеру.

0 голосов
/ 21 декабря 2011

Используйте для этой задачи тип формы .

0 голосов
/ 21 декабря 2011

Разве это не должно быть $ villes [$ i] вместо $ villes [i]?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...