В моем проекте Symfony2 есть две сущности: «Пользователь» и «Команда».Пользователь может иметь много команд, а команда может иметь много пользователей.
Теперь я добавляю игроков в команду через окно выбора (со всеми пользователями в нем из базы данных), где пользователь может выбрать много пользователей и нажать «Сохранить», чтобы вставить его в базу данных.
Я хотел бы иметь два текстовых поля вместо поля выбора, потому что мне не нравится, чтобы вошедший в систему пользователь мог видеть всех доступных пользователей (особенно, когда это поле станет очень длинным)
Как я могу это сделать?Итак, 2 текстовых поля (с автозаполнением jquery, который я добавлю) и кнопка сохранения, чтобы добавить двух пользователей в команду.
Thx.
Редактировать:
<?php
namespace Tennisconnect\DashboardBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
class TeamType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('player_one', 'text', array('property_path' => false))
->add('player_two', 'text', array('property_path' => false))
;
}
public function getName()
{
return 'team';
}
public function getDefaultOptions(array $options)
{
return array('data_class' => 'Tennisconnect\DashboardBundle\Entity\Team');
}
}
Тип вызова:
<?php
namespace Tennisconnect\DashboardBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
class ChallengeType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('teams', 'collection', array(
'type' => new TeamType(),
'allow_add' => true
))
->add('place')
->add('date');
}
public function getName()
{
return 'challenge';
}
public function getDefaultOptions(array $options)
{
return array('data_class' => 'Tennisconnect\DashboardBundle\Entity\Challenge');
}
}