Symfony 形式和循环与教义
Symfony form and loop with doctrine
我最近开始使用 Symfony。
我写了一个原则查询,我找到了我需要的值,但是当我想用 for 循环在表单的文本框中输入值时,我遇到了问题。
这是我的查询:
$id_user = $user->getId();
$query = $em->createQueryBuilder()
->select('ur','uu')
->from('DtEcBundle:UserReferences', 'ur')
->innerJoin("ur.id_user","uu")
->where("ur.id_user = :id_user")
->setParameter("id_user",$id_user)
->getQuery();
$userpyramid = $query->getResult();
现在我会在表格中插入我的值..
$form = $this->get('form.factory')->createNamedBuilder('form', 'form')
->setMethod('POST')
->setAction($this->generateUrl('profilo_secondlevel'))
->add('idreferenced', 'text', array(
'data' => '',
))
->add('save', 'submit', ['label' => 'Prova'])
->getForm();
如果我没有正确理解你的问题,那么你真的不需要任何表格![=25=]
只需将 ArrayCollection
传递给 twig,对其进行迭代并显示您需要的所有值。之后,定义一个由 id 参数化的路由,您可以通过 link.
访问该路由
所以,基本上
//somewhere in controller
/**
* @Route("/showSomethingByUserId/{uid}") <-- this could be also inserted into .yml file
*/
public function showSomethingByUserIdAction($uid)
{
//implement some code to check $uid (just an example)
}
将 $userpyramid
传递给 twig
//somewhere in controller
public function extractAllIdUsersAction()
{
[...]
//should be better to create a repository for this
$id_user = $user->getId();
$query = $em->createQueryBuilder()
->select('ur','uu')
->from('DtEcBundle:UserReferences', 'ur')
->innerJoin("ur.id_user","uu")
->where("ur.id_user = :id_user")
->setParameter("id_user",$id_user)
->getQuery();
$userpyramid = $query->getResult();
return $this->render('YourBundle:Folder:TwigName.html.twig, array(
'userPyramid' => $userpyramid)
);
}
然后在你的树枝里
{% for user in userpyramid %}
{{ user.name }}
{{ user.surname }}
<a href="{{ path('showSomethingByUserId', {'uid': user.id}) }}">Access to user infos</a>
{% endfor %}
当然,您的名字可能会有所不同
我最近开始使用 Symfony。 我写了一个原则查询,我找到了我需要的值,但是当我想用 for 循环在表单的文本框中输入值时,我遇到了问题。 这是我的查询:
$id_user = $user->getId();
$query = $em->createQueryBuilder()
->select('ur','uu')
->from('DtEcBundle:UserReferences', 'ur')
->innerJoin("ur.id_user","uu")
->where("ur.id_user = :id_user")
->setParameter("id_user",$id_user)
->getQuery();
$userpyramid = $query->getResult();
现在我会在表格中插入我的值..
$form = $this->get('form.factory')->createNamedBuilder('form', 'form')
->setMethod('POST')
->setAction($this->generateUrl('profilo_secondlevel'))
->add('idreferenced', 'text', array(
'data' => '',
))
->add('save', 'submit', ['label' => 'Prova'])
->getForm();
如果我没有正确理解你的问题,那么你真的不需要任何表格![=25=]
只需将 ArrayCollection
传递给 twig,对其进行迭代并显示您需要的所有值。之后,定义一个由 id 参数化的路由,您可以通过 link.
所以,基本上
//somewhere in controller
/**
* @Route("/showSomethingByUserId/{uid}") <-- this could be also inserted into .yml file
*/
public function showSomethingByUserIdAction($uid)
{
//implement some code to check $uid (just an example)
}
将 $userpyramid
传递给 twig
//somewhere in controller
public function extractAllIdUsersAction()
{
[...]
//should be better to create a repository for this
$id_user = $user->getId();
$query = $em->createQueryBuilder()
->select('ur','uu')
->from('DtEcBundle:UserReferences', 'ur')
->innerJoin("ur.id_user","uu")
->where("ur.id_user = :id_user")
->setParameter("id_user",$id_user)
->getQuery();
$userpyramid = $query->getResult();
return $this->render('YourBundle:Folder:TwigName.html.twig, array(
'userPyramid' => $userpyramid)
);
}
然后在你的树枝里
{% for user in userpyramid %}
{{ user.name }}
{{ user.surname }}
<a href="{{ path('showSomethingByUserId', {'uid': user.id}) }}">Access to user infos</a>
{% endfor %}
当然,您的名字可能会有所不同