我试图生成一个组合框与我的数据库值在它。
为了做到这一点,我决定把一个简单的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)"; ?>
我做错了什么?
不能在小模板中使用PHP。将对Twig进行解析并转换为PHP,但不解释PHP代码。你必须使用twig语法
此外,你真的不应该把逻辑放入模板中。Twig在阻止你这么做方面做得很好。数据库查询应该转到控制器。
不应该是$villes[$i]而不是$villes[i]吗?
此任务使用实体表单类型