doctrine2 - Zend Framework 2 Doctrine 2 one-to-many checkbox hydration -


i have manytomany broke onetomany , manytoone relationship. want build form has checkboxes instead of collection, , using 'doctrineobject' hydrator, not work , don't know going wrong.

i removed code below of other not related fields.

role entity:

/**  * @orm\entity  * @orm\table(name="roles")  */ class rolesentity extends hemisentity {     /**      * @orm\id      * @orm\column(type="integer");      * @orm\generatedvalue(strategy="identity")      */     protected $id;      /**      * @orm\column(name="role_code",type="string")      */     protected $rolecode;      /**      * @orm\onetomany(targetentity="rolespermissionsentity", mappedby="role", cascade={"persist"})      */     protected $rolepermissions;      public function __construct()     {         $this->rolepermissions = new arraycollection();     }      public function setrolepermissions($rolepermissions)     {         $this->rolepermissions = $rolepermissions;         return $this;     }      public function addrolepermissions(collection $rolepermissions)     {         foreach ($rolepermissions $rolepermission) {             $rolepermission->setrole($this);             $this->rolepermissions->add($rolepermission);         }     }      public function removerolepermissions(collection $rolepermissions)     {         foreach ($rolepermissions $rolepermission) {             $rolepermission->setrole(null);             $this->rolepermissions->removeelement($rolepermission);         }     }      public function getrolepermissions()     {         return $this->rolepermissions;     } } 

the manytomany table entity (it has more fields , broke it):

    /**  * @orm\entity  * @orm\table(name="roles_permissions")  */ class rolespermissionsentity extends hemisentity {     /**      * @orm\id      * @orm\column(type="integer");      * @orm\generatedvalue(strategy="identity")      */     protected $id;      /**      * @orm\manytoone(targetentity="rolesentity", inversedby="rolepermissions")      * @orm\joincolumn(name="role_id", referencedcolumnname="id")      **/     protected $role;      /**      * @orm\manytoone(targetentity="permissionsentity", inversedby="permissionroles")      * @orm\joincolumn(name="permission_id", referencedcolumnname="id")      **/     protected $permission;      public function setrole($role)     {         $this->role = $role;         return $this;     }      public function getrole()     {         return $this->role;     }      public function setpermission($permission)     {         $this->permission = $permission;         return $this;     }      public function getpermission()     {         return $this->permission;     } } 

my form this:

class roleform extends form implements inputfilterproviderinterface {     public function __construct(objectmanager $objectmanager)     {         parent::__construct('role');          $this->sethydrator(new doctrinehydrator($objectmanager))              ->setobject(new rolesentity());          $this->add(array(             'type' => 'zend\form\element\hidden',             'name' => 'id'         ));          $this->add(array(             'type'    => 'zend\form\element\text',             'name'    => 'rolecode',             'options' => array(                 'label' => 'role code'             ),         ));          $this->add(array(             'name' => 'rolepermissions',             'type' => 'doctrinemodule\form\element\objectmulticheckbox',             'options' => array(                 'label' => 'permissions',                 'object_manager' => $objectmanager,                 'target_class'   => 'hemis\fnd\permissionsentity',                 'property'       => 'permissiondesc'             ),         ));          $this->add(array(             'name' => 'submit',             'type'  => 'submit',             'attributes' => array(                 'value' => 'submit',             ),         ));     }      public function getinputfilterspecification()     {         return array(             'rolecode' => array(                 'required' => false             ),             'rolepermissions' => array(                 'required' => true             )         );     } } 

the problem when dump $role not contains rolepermissions , passed form not hydrated object. hope question clear.

any idea wrong code or there better way using checkboxes?


Comments

Popular posts from this blog

javascript - JS causing window size to be bigger than necessary - Dropdown bug -

How to mention the localhost in android -

php - Calling a template part from a post -