Tôi có một hình thức như dưới đây:Làm thế nào để thay đổi giá trị trường mẫu trong symfony 2
class ItemType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
// ...
->add('tags','text',array(
'required' => false,
'attr' => array('name' => 'tags'),
'mapped' => false))
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'MyBundle\ItemBundle\Entity\Item',
'cascade_validation' => true,
));
}
}
chỉnh sửa hành động của tôi
public function editAction(Request $request, $id) {
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('MyBundleItemBundle:Item')->find($id);
$form = $this->createForm(new ItemType(), $entity);
//$form->get('tags')->setValue('test text');
// ^- this is what i would like to do -^
// ...
}
Trong khi tôi đang chỉnh sửa một mục, Làm thế nào tôi có thể thay đổi giá trị trường mẫu bên trong bộ điều khiển trước khi render nó?
Bạn có thể làm gì trong bạn trường hợp: $ form-> get ('fieldName') -> setData ('my_value'); Điều này cũng hoạt động đối với Symfony 3. – TodStoychev