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

How to mention the localhost in android -

php - Calling a template part from a post -

c# - String.format() DateTime With Arabic culture -