I don't know, How I can load data from DB to selectbox
My Entity Type:
class MyEntityType extends AbstractType
{
public function __construct($em) {
$this->em = $em;
}
public function buildForm(FormBuilderInterface $builder, array $options) {
$kitchen = new \Delivery\AdminBundle\Entity\Kitchen();
$builder
->add('title', 'entity', array(
'class' => 'DeliveryAdminBundle:Kitchen',
'property' => 'title',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('e')
->orderBy('e.title', 'ASC');
},
'data' => $this->em->getReference("DeliveryAdminBundle:Kitchen", 3)
))
->add('save', SubmitType::class, array('label'=>'Отправить'));
}
public function getName() {
return 'entity';
}
}
My Controller:
$em = $this->getDoctrine()->getManager();
$entity = new MyEntity();
// $form = $this->createForm(MyEntityType::class, $entity);
$form = $this->createForm(new KitchenType($this->getDoctrine()->getManager()), $entity);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$em->persist($entity);
$em->flush();
return $this->redirectToRoute('show_myentity');
}
return $this->render( 'DeliveryAdminBundle:Entity:new.html.twig',
array('form'=>$form->createView()) );
I get error: Expected argument of type "string", "Delivery\AdminBundle\Forms\KitchenType" given
I want load Kitchen title to selectbox in my html cod. (Sorry for my bad English)