symfony - how to call function of entity repository in form type in symfony2 -


i want call function in form type class. function generate array , written in entity repository class. using array generate dynamic form field. here entity repository class function.

public static $rolenamemap = array(             self::role_super_admin => 'superadmin',             self::role_managemen => 'management',             self::role_managers => 'manager',             self::role_it_staff => 'itstaff',             self::role_cs_customer => 'cscustomer',             self::role_cs => 'cs',             self::role_dealer => 'dealer',             self::role_account_staff => 'accountstaff',             self::role_broker_user => 'staff',     );      public function getgrouplistarray()         {             $qb = $this->createquerybuilder('g')                 ->orderby('g.hierarchy','asc');             $query = $qb->getquery();             $grouplist = $query->execute();             $rolenamemap = array();             foreach ($grouplist $role){                 $rolenamemap[$role->getid()] = $role->getrole();             }              return $rolenamemap;         } 

below form builder class want call above entity repository function.

public function buildform(formbuilderinterface $builder, array $options) {          $builder->add('routeid', 'hidden');          foreach (grouplistrepository::$rolenamemap $key=>$value){             $builder->add($value, 'checkbox',array('label' => '', 'required' => false,));         }            } 

i able static variable show in above code but, have confusion how should access repository function in form builder class in symfony2.

thanks in advance.

it's not available in form builder, , it's not necessary. it's not how symfony forms work. looks you're wanting do, try this. create list of checkboxes corresponding list of roles.

$builder->add(   'roles',   'entity',   array(     'class' => 'acme\defaultbundle\entity\group',     'expanded' => true,     'multiple' => true,     'property' => 'role', // or use __tostring()     'query_builder' => function ($repository) {       return $repository->createquerybuilder('g')         ->orderby('g.hierarchy', 'asc');     }               ) ); 

see http://symfony.com/doc/master/reference/forms/types/entity.html.

if need repository in form builder, create form type service , inject entity manager dic. or pass directly form type when create it.


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -