Symfony Version: 3Symfony: Embeding Sammlung von Formularen Problem
Ich muss ein Formular erstellen, die Benutzerdaten in zwei Tabellen einfügen. Also ich folge this Methode im Symfony doc. Ich habe zwei Benutzer und Adresse und ich habe zwei Formular-Builder genannt Entitäten wie unten erstellt,
Address
class AddressType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('address');
$builder->add('postCode');
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'PIE10Bundle\Entity\Address',
));
}
}
Usertype
class UserType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('firstname');
$builder->add('lastname');
$builder->add('address',
CollectionType::class,
array(
'entry_type' => AddressType::class
));
$builder->add('Add User', SubmitType::class);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'PIE10Bundle\Entity\Users',
));
}
}
und meine Contoller ,
public function addNewUserAction(Request $request)
{
$user = new Users;
$address = new Address;
$form = $this->createForm(UserType::class, $user);
$form->handleRequest($request);
return $this->render('PIE10Bundle:Form:newuser.html.twig',
array(
'title' => 'Add New User',
'form' => $form->createView()
));
}
und ja schließlich die Ansicht PIE10Bundle:Form:newuser.html.twig
{% extends "PIE10Bundle::layout.html.twig" %}
{% block cmi_body %}
<div class="row">
<div class="col-md-2">
</div>
<div class="col-md-6">
{{form_start(form)}}
{{form_widget(form)}}
{{form_end(form)}}
</div>
</div>
<div class="row">
{{ dump(form) }}
</div>
{% endblock %}
Und ich bin immer so etwas wie die unten.
in Form ich immer bin nicht die Textfelder für folgende
$builder->add('address');
$builder->add('postCode');
Ich muss wissen, wenn ich etwas in meinem Code oder den Grund fehle für die beiden Textfelder nicht immer und wie man behebe dieses Problem.
Vielen Dank im Voraus.
Ist das eine 1 zu 1 Beziehung zwischen Benutzer und Adresse? Vielleicht möchten Sie Ihr Mapping zeigen. Wie Sie Ihre Beziehung zwischen diesen beiden Entitäten eingerichtet haben, würde bestimmen, welcher Formularfeldertyp verwendet werden soll. –
ja dies ist 1 zu 1 Beziehung – mapmalith