Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

MASNathan

Doctrine 2 + CodeIgniter

Mensagens Recomendadas

MASNathan

Boas,

Estou com um problema nas relações entre tabelas, relação one-to-many.

A estrutura é a seguinte:

CREATE TABLE `users` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `email` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
 `name` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
 `creation_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;

CREATE TABLE `quests` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `creator_id` int(11) NOT NULL,
 `language` varchar(2) COLLATE utf8_unicode_ci NOT NULL,
 `description` varchar(140) COLLATE utf8_unicode_ci NOT NULL,
 `creation_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;

Podem consultar as Entities que eu criei aqui:

Users: https://github.com/ReiDuKuduro/MyQuest/blob/master/application/models/Entity/User.php

Quests: https://github.com/ReiDuKuduro/MyQuest/blob/master/application/models/Entity/Quest.php

Não sei se estou a fazer alguma coisa de errado mas o que é certo é que quando procuro por um user, está tudo ok, e conssigo obter as "quests_created" desse mesmo.

$user = $this->doctrine->em->find('Entity\User', 3);
$user->getCreatedQuests(); //Devolve-me todos os registos

Mas quando tento procurar uma Quest,

$this->doctrine->em->find('Entity\Quest', 1);

é me retornado o seguinte erro:

Fatal error: require(): Failed opening required 'application/models/Proxies/__CG__EntityUser.php' (include_path='.:/Applications/MAMP/bin/php/php5.4.10/lib/php') in /Users/andre/Repos/MyQuest/application/libraries/Doctrine/ORM/Proxy/ProxyFactory.php on line 92

Cumps

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
taviroquai

Nunca utilizei Doctrine mas parece-me que tem a ver com a forma como o Doctrine faz autoload das classes - o que em principio funciona bem. Será que tens o Doctrine e o mapeamento bem configurado? Em último caso, só mesmo em ultimo caso, tenta fazer require das classes à mão...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.