public function index()
 {
     $query = DepartamentosFuncionario::query()->columns(['id_funcionario', 'descricao as departamento'])->join('wsGerProj\\Models\\Departamento');
     $binds = [];
     if ($this->request->getQuery('search_id_funcionario')) {
         $query->andWhere('id_funcionario = :id_funcionario:');
         $binds['id_funcionario'] = $this->request->getQuery('search_id_funcionario');
     }
     if ($this->request->getQuery('search_id_departamento')) {
         $query->andWhere('id_departamento = :id_departamento:');
         $binds['id_departamento'] = $this->request->getQuery('search_id_departamento');
     }
     if (count($binds)) {
         $query->bind($binds);
     }
     return GetResponse::createResponse($this->request, $query->execute()->toArray());
 }
 public function getDepartamentos()
 {
     $query = DepartamentosFuncionario::query()->columns(['id_departamento as id', 'descricao'])->join('wsGerProj\\Models\\Departamento')->where('id_funcionario = :id_funcionario:')->bind(['id_funcionario' => $this->getId()]);
     return $query->execute();
 }
 private function createFuncionarioDepartamentos($dataPost)
 {
     $departamentos = [];
     foreach ($dataPost->departamentos as $postDepartamento) {
         $departamento = new DepartamentosFuncionario();
         $departamento->setIdFuncionario($funcionario);
         $departamento->setIdDepartamento($postDepartamento->id);
         $departamentos[] = $departamento;
     }
     return $departamentos;
 }