如何使用特定的PHP代码(getDoctrine)来回显组合框?我试过了,结果真的不是预期的
我正在尝试生成一个组合框,其中包含数据库的值 为此,我决定在我的.html.twig中放入一个简单的php代码 这是密码如何使用特定的PHP代码(getDoctrine)来回显组合框?我试过了,结果真的不是预期的,php,symfony,Php,Symfony,我正在尝试生成一个组合框,其中包含数据库的值 为此,我决定在我的.html.twig中放入一个简单的php代码 这是密码 <?php $villes = $this->getDoctrine() ->getRepository('ProjetEsamuzeDiorBundle:Villes') ->findAll(); echo "<select name='ville
<?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>";
?>
请记住,这是直接在页面上的,好像刚才有回声,但没有。我想可能是$this,但是用$villes替换它会得到同样的结果
我也看不到,因为我看到的正是这个
getDoctrine() ->getRepository('ProjetEsamuzeDiorBundle:Villes') ->findAll(); echo "(combobox is empty here)"; ?>
我做错了什么?不应该是$villes[$I]而不是$villes[I]?你不能在细枝模板中使用PHP。Twig被解析并转换为PHP,但没有解释PHP代码。你必须使用细枝语法
此外,您真的不应该将逻辑放入模板中。Twig在阻止你这么做方面做得很好。数据库查询应转到控制器 使用来完成此任务。很好,我在任何需要的地方都更改了它,但仍然给出相同的结果。哦,这也许可以解释,那么我应该如何达到我想要达到的目的呢?我对Symfony和php还是有点陌生,所以我需要一些指导,我用了这个:做我想做的事
getDoctrine() ->getRepository('ProjetEsamuzeDiorBundle:Villes') ->findAll(); echo "(combobox is empty here)"; ?>