public function testExtract()
 {
     $role = (new RoleEntity())->setId(2);
     $data = $this->repository->extract($role);
     $this->assertArrayHasKey('id', $data);
     $this->assertEquals(2, $data['id']);
 }
Пример #2
0
 public function saveTree($treeRole)
 {
     // todo: Optimaze it to load all list entities
     $ids = [];
     foreach ($this->walkTree($treeRole) as $roleData) {
         $role = false;
         if (isset($roleData['id'])) {
             $role = $this->roleRepository->find($roleData['id']);
         }
         if (!$role) {
             $role = $this->roleRepository->createNewEntity();
         }
         $role = $this->roleRepository->hydrate($role, $roleData);
         if ($roleData['parentId']) {
             $role->setParent($this->roleRepository->find($roleData['parentId']));
         }
         $this->roleRepository->save($role);
         $ids[] = $role->getId();
     }
     foreach ($this->getAll() as $role) {
         if (in_array($role->getId(), $ids)) {
             continue;
         }
         $this->roleRepository->delete($role);
     }
 }