Ir para conteúdo

POWERED BY:

Arquivado

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

Vadio

[Resolvido] instanciar Doctrine no model

Recommended Posts

olá pessoal encontrei um vídeo bem bacana sobre doctrine e finalmente to conseguindo utilizar ele mas não consigo instanciar o DoctrineContainer no meu model para seguir os padrões MVC...

 

da maneira q estou utilizando é assim

Criei um helper para instanciar o doctrine em uma var q chamo de doctrine Container e apartir daí no meu Action eu faço oq preciso .

Mas o problema está em instanciar esse 'container' no modelo para q o modelo converce com o banco e não meu action..

 

vídeo q utilizei para integração: http://www.zendcasts.com/unit-testing-doctrine-2-entities/2011/02/

 

modelo de action

$user = new ZC\Entity\User();
$user->email = $data['username'];
$user->password = md5($data['password']);

$doctrineContainer = $this->_helper->doctrine();
$em = $doctrineContainer->getEntityManager();
$repository = $em->getRepository('ZC\Entity\User');


$user = $repository->findOneBy(array('email'=>$user->email,'password'=>$user->password));

echo $user->person->fullname;

 

o helper q retorna a instancia do meu container está descrito:

 

class Zend_Controller_Action_Helper_Doctrine extends Zend_Controller_Action_Helper_Abstract {
public $pluginLoader;
public function __construct() {
	// TODO Auto-generated Constructor
	$this->pluginLoader = new Zend_Loader_PluginLoader ();
}

public function direct(){
	$controller = $this->getActionController();
	return $controller->getInvokeArg('bootstrap')->getResource('doctrine');
}
}

 

unica soluçao q crei para fazer isso foi passar o container como parametro da função q vai fazer alguma coisa mas creio q essa não seja a maneira correta de fazer isso.

 

Vlw ae povo do iMasters

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido...

 

a maneira q econtrei de chamar meu doctrineContainer de dentro das minhas classes "model" foi:

 

$doctrineContainer = \Zend_Controller_Front::getInstance()->getParam('bootstrap')->getResource('doctrine');

 

Postei minha resposta pois a dúvida de um pode também ser a dúvida de outro.

Obrigado ae Povo do iMasters!

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.