Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lucasvocals

[Resolvido] Excluir dados de tabelas ligadas.

Recommended Posts

Esta é a linha do problema?

 

$pessoa_id = $data['Funcionario']['id_pessoa'];

 

tente:

 

$pessoa_id = $data['Funcionario']['chave_estrangeira'];

'chave_estrangeira' = aqui a chave estrangeira

 

Não tem mais ninguém pra ajudar tb?

 

 

Nada.. ele não reconhece o Model,

da o seguinte:

Notice (8): Undefined index: Funcionario [APP\controllers\funcionarios_controller.php, line 88]

a linha 88 é:

$idPessoa = $data['Funcionario']['pessoa_id'];

 

 

 

Krl tá difícil pqp..

 

Ninguém mais sabe??

 

que inferno meu, só preciso pegar os dados q eu trouxe no find e não consigo, afff

Compartilhar este post


Link para o post
Compartilhar em outros sites

YEAH!!!!!!!!

 

CONSEGUI VELHO PQP!

 

depois de 2 dias sem mecher nessa desgraça, consegui descobrir o problema! Acho que isso vai ajudar mta gente aí, pq é um SACO fazer iuahaiuhuia

tá ae então, finalmente, a resolução!

 

function delete($id = null) {
	$user_id = array('User.funcionario_id' => $id);
	$deleta_user = $this->Funcionario->User->find('list', array('conditions' => $user_id));
				
	$data = $this->Funcionario->findById($id);
						
	$idPessoa = $data['Funcionario']['pessoa_id'];
	$idEndereco = $data['Pessoa']['endereco_id'];
						
	if($this->User->delete($deleta_user)):						
		$deleta_pessoa = $this->Funcionario->Pessoa->findById(array('Funcionario.pessoa_id' => 'Pessoa.id'));
															
		if( $this->Funcionario->delete($id)):
			if($this->Pessoa->delete($idPessoa)):
				if($this->Endereco->delete($idEndereco)):
					$this->Session->setFlash('Registro excluído com sucesso!');
					$this->redirect('read/');
				else:
					$this->Session->setFlash('Erro ao deletar ENDERECO!');
					$this->redirect('read/');
				endif;
			else:
				$this->Session->setFlash('Erro ao deletar PESSOA!');
			        $this->redirect('read/');
		        endif;
		else:
			$this->Session->setFlash('Erro ao deletar FUNCIONARIO!');
		        $this->redirect('read/');
		endif;
	else:
		$this->Session->setFlash('Erro ao deletar USER!');
		$this->redirect('read/');		
	endif;		
}

 

Obs: os flashs de erro são opcionais, é só pra ver em qual tabela ele tá parando...

 

Obrigado tyler pela ajuda e paciencia!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, desculpa ae se nao pude concluir este tópico... tô vendo um tratamento de visão aki e deixei o cake de lado, inclusive minhas dúvidas também estão sem concluir...

 

ótimo q você concluiu :)

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

No relacionamento entre o model pessoa e o model funcionario a chave dependent foi definida para true. Se não foi o deleteAll não fumciona mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas em nenhum momento eu quis usar deleteAll. Eu tinha que deletar registros específicos. Funcionario também está ligado a Cargo, Unidade, entre outras coisas, e com delete all deletaria isso também, e não é isso que eu queria fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.