我创建了一个嵌入式表单。如何使用数据库中的名称在 ItemType.php 中添加标签?
1.) 喜欢:
$builder->add('id', 'checkbox', array('label'=> $v->getName(),...
2.) 顺便说一下,symfony2 为每个 ItemType.php 呈现一个数字 0,1,2。我怎样才能摆脱它?
我的行动:
$task = new UserFriends();
foreach ($fb_friends as $k => $v) {
$name = $v->getName();
$friend_id = $v->getFriendId();
$id = $v->getId();
$t = new Item();
$t->name = $name;
$t->friendId = $friend_id;
$t->id = $id;
$task->getId()->add($t);
}
$form = $this->createForm(new CreateRequest(), $task, array());
CreateRequest.php-form 的一部分:
$builder->add('id', 'collection', array('type' => new ItemType(),
我的 ItemType.php 的一部分
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('id', 'checkbox', array('label'=> 'Name', 'required' => false, 'mapped' => false));
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Frontend\ChancesBundle\Entity\Item',
));
}
public function getName()
{
return 'item';
}
和我的 Item.php-Entity 的一部分
class Item
{
public $id;
public $friendId;
public $name;
public function getFriendId()
{
return $this->friendId;
}