我正在使用Symfony 2.4。
我有2个具有OneToMany和ManyToOne关系的实体。
我正在用树枝渲染实体。
class SomeController extends Controller
{
/**
* @return \Symfony\Component\HttpFoundation\Response
*/
public function listAction()
{
$em = $this->getDoctrine()->getManager('some_manager');
$entities = $em->getRepository('SomeBundle:SomeClass')->findAll();
return $this->render('SomeBundle:list.html.twig', ['entities' => $entities]);
}
...
直截了当的东西。工作正常,没有问题。还有更多要做的事情。
表格如下:
class FirstType extends AbstractType
{
/**
* Build the form elements
*
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('url', 'hidden')
->add('secondEntity', 'collection', ['type' => new SecondType()])
;
}
...
class SecondType extends AbstractType
{
/**
* Build the form elements
*
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('value')
->add('type')
;
}
再次,效果很好。
树枝
{% block content %}
<form method="post" class="form form-horizontal">
{{ form_start(form) }}
{{ form_row(form._token) }}
{{ form_errors(form.url) }}
{{ form_widget(form.url) }}
{{ form_errors(form.secondEntityGetterName) }}
{{ form_widget(form.secondEntityGetterName) }}
<div class="form-actions">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
{{ form_end(form) }}
</form>
{% endblock content %}
这里一切都很好。但是,由于它们是相关的,Symfony坚持显示与之相关的实体数量。
请注意屏幕截图左侧的整数。我想删除这些内容,只保留屏幕截图的右侧。
我有RTFM,但未指定相关实体的任何内容。
我尝试在树枝内使用各种吸气剂,希望可以分别渲染每个元素。到目前为止,这更是一个麻烦,而不是其他任何事情。
我确定必须有更好的方法。