Ir para conteúdo

POWERED BY:

Arquivado

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

giulianosaito

zf 1.8 problemas na chamada do model

Recommended Posts

Depois que eu migrei para o zf 1.8 começaram a acontecer alguns problemas que eu não soube verificar se diz respeito a versão ou se eu errei em algo!

 

No 1.7 por exemplo, quando eu ia chamar um model eu fazia simplesmente assim

$user = new Users();
Agora toda vez que eu vou chamar o model eu tenho que utilizar a estrutura Model_DbTable_ e realmente colocar esses models dentro das pastas model/dbtable, se for dentro do diretório models ele não le

$user = new Model_DbTable_Users();
e o metodo self::CASCADE não está funcionando.

 

no Model eu faço o seguinte codigo na tabela dependente (filho por assim dizer)

 

protected $_name = "userprofile";
protected $_primary = "id";
protected $_referenceMap = array(
   array(
     'refTableClass' => 'Model_DbTable_Users',
     'refColumns' => 'id',
     'columns' => 'user_id',
     'onDelete'=> self::CASCADE,  
     'onUpdate'=> self::RESTRICT
   )
);
E na função deletar no controller que eu testei para ver se funcionava

 

public function excluirAction()
{
    $id = (int)$this->_request->getParam('id', 0);
    $user = new Model_DbTable_Users();
    $row = $user->find($id)->current();
    $del = $row->delete();
}

Apesar da grande documentação do zend, eu ainda acho muito confuso alguns tópicos do manual! Então se alguem puder me ajudar já agradeço antecipadamente!

 

Forte abraço a todos e uma ótima segunda-feira.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O delete não esta funcionando ou apenas o CASCADE não está funcionando?

Me diz qual é a estrutura de diretorio e o nome do seu arquivo Model.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

O delete não esta funcionando ou apenas o CASCADE não está funcionando?

Me diz qual é a estrutura de diretorio e o nome do seu arquivo Model.

 

Muito obrigado por responder VAZA.

O CASCADE. O delete funciona mas não desta forma apresentada. Esta maneira eu peguei de uma aula que eu assisti mas não funcionou

 

A maneira que funciona mas não funciona o CASCADE é a seguinte

 

$id = (int)$this->_request->getPost('id');
$user = new Model_DbTable_Users();
$where = 'id = ' . $id;
$user->delete($where);

A estrutura de diretórios é esta

 

application
--configs
--models
  --DbTable
--modules
  --admin
    --controllers
    --layouts
    --views
  --default
    --controllers
    --layouts
    --views
library
public

Valeu pela atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendi.

e antes no ZF 1.7 pegava?

Sinceramente, eu não uso o CASCADE pelo model...eu já uso da base de dados mesmo. Nunca testei pelo Model do Zend...

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

entendi.

e antes no ZF 1.7 pegava?

Sinceramente, eu não uso o CASCADE pelo model...eu já uso da base de dados mesmo. Nunca testei pelo Model do Zend...

 

heheh Na realidade eu também não sei! Porque eu nunca havia necessitado do CASCADE, mas como não tive grandes problemas com o 1.7 e a maioria dos tutoriais que eu vi ensina a utilizar o CASCADE desta maneira com o 1.7 já logo imaginei que seja algo em relação a versão utilizada!

 

Mas obrigado pela ajuda assim mesmo VAZA

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso não esteja nem deletando o registro que você quer, pode ser que na sua base há CONSTRAINTS com RESTRICT...

sei lá...

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.