[英]many to many relation in a form view symfony 2
我有兩個實體之間的多對多關系。
然后我顯示一個表單,將entityA添加到entityB。 是不是可以添加自定義表單(我的意思是在樹枝視圖中),以便用戶有時可以選擇一個值,有時候多於一個?
當我希望用戶選擇多個值時,我使用它
<select multiple>
{% for entity in entitys %}
<option>
{{entity.id}}
</option>
{%endfor%}
</select>
否則這個
<select >
{% for entity in entitys %}
<option>
{{entity.id}}
</option>
{%endfor%}
</select>
但現在的問題是如何提交表格。 該
<button type="submit" class="btn btn-info" value="NEXT STEP " />
這是整個表格
<form method="post">
<select >
{% for entity in entitys %}
<option>
{{entity.id}}
</option>
{%endfor%}
</select>
<input type="submit" />
</form>
不再提交表格。 任何想法PLZ?
這是我的整個樹枝視圖
<h2> STEP {{step}} </h2>
<form method="post">
<select >
{% for entity in entitys %}
<option value="{{entity.id}}">
{{entity.id}}
</option>
{%endfor%}
</select>
<input type="submit" class="btn btn-info" />
</form>
<br>
<br>
在你的formbuilder中,你可以添加一些選項,例如我的例子:
目的是將您的字段映射到實體(以設置列表)。 不要忘記向映射實體添加方法_tostring,以使symfony能夠將您的實體表示為select中的文本。
public function buildForm(FormBuilder $builder, array $options) {
$id = $this->id;
$builder->add(
'addressees',
'entity',
array(
'class' => 'Pref27\MailBundle\Entity\Addressee',
'property' => 'name',
'multiple' => true,
'expanded' => false,
'required' => true,
'label' => 'mail.add.theme';
}
)
);
}
$editForm = $this->createForm(new FormType(), $entity);
return array(
'form' => $editForm->createView()
);
<form action="{{ path('theControllerActionWitchIsResponsibeOfRecordingIntoDatabase' }}" method="post" {{ form_enctype(edit_form) }}>
{{ form_widget(edit_form) }}
<p>
<button type="submit">Next step</button>
</p>
</form>
渲染的字段類型取決於多個和已消耗的設置
select tag expanded=false multiple=false
select tag (with multiple attribute) expanded=false multiple=true
radio buttons expanded=true multiple=false
checkboxes expanded=true multiple=true
您可以在此處找到有關實體類型的更多信息: http : //symfony.com/doc/2.0/reference/forms/types/entity.html
從您的枝條視圖表單的操作缺少嘗試添加
<form method="post" action="{{ path("theRouteOfYourControllerWitchRecordTheData")}}">
不要忘記添加{{form_rest(form) }}
告訴{{form_rest(form) }}
添加CSRF令牌
並且不要忘記在select的選項中添加值
<select multiple>
{% for entity in entitys %}
<option value="{{entity.id}}">{{entity.name}}</option>
{%endfor%}
</select>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.