У меня сейчас проблема с восстановлением нужных мне данных, и я очень надеюсь, что вы сможете мне помочь. Я пытаюсь создать форму через Symfony formbuilder, чтобы создать объект, который я называю Site
. Этот объект содержит пользователей для заполнения формы. Для этого я go через Symfony тип сущности, чтобы получить моих пользователей из базы данных. Я хорошо их выздоравливаю. Однако я хотел бы не просто отображать имя каждого проверяемого пользователя, но в дополнение к этому я хотел бы отобразить их данные, такие как адрес, номер телефона и т. Д. 1019 *, в таблице HTML с несколькими столбцами. Однако я не могу восстановить объекты моих пользователей в моем представлении со всеми их свойствами для передачи. Я могу просто ввести метку, отображающую несколько сведений, которые я не могу поместить в таблицу. Для получения информации пользователи имеют отношение многих ко многим. У вас есть идея, чтобы все мои пользователи могли просматривать объект, а не передавать ему только строку? Вот мой код:
$builder
->add('name')
->add('adress')
->add('postalCode')
->add('city')
->add('phoneNumber')
->add('observations')
->add('country', EntityType::class, [
'class' => Country::class,
'choice_label' => 'name',
'by_reference' => false
])
->add('devise', EntityType::class, [
'class' => Devise::class,
'choice_label' => 'symbol',
])
->add('timezone', EntityType::class,[
'class' => TimeZone::class,
'choice_label' => 'name',
'by_reference' => false
])
->add('users', EntityType::class ,
[
// looks for choices from this entity
'class' => User::class,
'choice_label' => function (User $user) {
return $user->getFirstName() .' ' . $user->getLastName();
},
'choices' => $this->userRepository->getUsersWithRoleBellowUserByCustomer($customer, $creator) ,
'multiple' => true,
'expanded' => true,
'by_reference' => false
])
->add('criterions',EntityType::class ,
[
// looks for choices from this entity
'class' => Criterion::class,
'choice_label' => 'name',
'multiple' => true,
'expanded' => true,
'by_reference' => false
])
->add('tags',EntityType::class ,
[
// looks for choices from this entity
'class' => Tag::class,
'choice_label' => 'name',
'multiple' => true,
'expanded' => true,
'by_reference' => false
])
, и я хотел бы что-то подобное на мой взгляд:
{{ form_start(form) }}
<table>
<tbody>
<tr>
<td>Name</td>
<td>Firstname</td>
<td>Adress</td>
</tr>
<tr>
{% for userField in form.users %}
<td>
userField.name
userField.firstName
userField.adress
</td>
{% endfor %}
</tr>
</tbody>
</table>
<button class="btn">{{ button_label|default('Save') }}</button>
{{ form_end(form) }}
Вот что я получаю, когда я делаю дамп user.vars после создание foreach для form.users
https://i.stack.imgur.com/fi9k1.png
Спасибо за вашу помощь.