Hi,
I've got Doctrine working just fine, however when creating new entities it
seems Doctrine cannot recognize the class:
This has worked for me with various other Entities, but for the new ones
not anymore.
for instance:
<?php
namespace Entities;
use Doctrine\ORM\Mapping as ORM;
/**
* Link
*
* @ORM\Table(name="links")
* @ORM\Entity(repositoryClass="\Entities\LinkRepository")
*/
class Link
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", precision=0, scale=0,
nullable=false, unique=true)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=100, precision=0,
scale=0, nullable=false, unique=false)
*/
private $name;
/**
* @var string
*
* @ORM\Column(name="location", type="string", length=100, precision=0,
scale=0, nullable=false, unique=false)
*/
private $location;
// Getters and setters generated by Doctrine
}
Controller:
<?php
namespace Cms\Controller;
use \Cms\Controller\LinkController,
\Zend\Mvc\Controller\AbstractActionController,
\Zend\View\Model\ViewModel;
/**
* LinkController class used for propagating all \Entities\Link related actions
to the model
*/
class LinkController extends AbstractActionController
{
protected $linkService;
/**
* Gets the LinkService
*
* @return type \Cms\Service\LinkService
*/
public function getLinkService()
{
if (!$this->linkService)
{
$sm = $this->getServiceLocator();
if ($sm->get('Cms\Service\LinkService'))
{
$this->setLinkService($sm->get('Cms\Service\LinkService'));
}
else
{
throw new Zend_Controller_Action_Exception('The LinkService has
not been correctly configured.', 404);
}
}
return $this->linkService;
}
/**
* Sets the LinkService
*
* @access protected
* @param LinkService $linkService
* @return LinkController
*/
protected function setLinkService(LinkService $linkService)
{
$this->linkService = $linkService;
return $this;
}
/**
* Method populates the ViewModel with all available links.
*
* @return ViewModel
*/
public function indexAction()
{
$links = $this->getLinkService()->getLinks();
return new ViewModel(array(
'links' => $links
));
}
}
Service:
<?php
namespace Cms\Service;
use \Cms\Service\AntenneService,
\Doctrine\Common\Persistence\ObjectManager,
\Entities\Link,
\Entities\LinkRepository;
/**
* LinkService used for all Link related functionality
*
*/
class LinkService extends AntenneService
{
protected $linkRepository;
/**
* Constructor uses the ObjectManager to obtain \Entities\LinkRepository.
*
* @param ObjectManager $objectManager
*/
public function __construct(ObjectManager $objectManager)
{
parent::__construct($objectManager);
$this->linkRepository = $objectManager->getRepository(Link::class);
}
/**
* Set repository
*
* @param string $repository
* @return \Cms\Services\LinkService
*/
public function setRepository(LinkRepository $repository)
{
$this->linkRepository = $repository;
return $this;
}
/**
* Get repository
*
* @return LinkRepository
*/
public function getRepository()
{
return $this->linkRepository;
}
/**
* Get Links.
*
* @return type
*/
public function getLinks()
{
return $this->getRepository()->findAll();
}
}
Message:
Class 'Entities\Link' does not exist
Stack trace:
#0
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php(43):
Doctrine\Common\Persistence\Mapping\MappingException::nonExistingClass('Entities\Link')
#1
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php(267):
Doctrine\Common\Persistence\Mapping\RuntimeReflectionService->getParentClasses('Entities\Link')
#2
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php(297):
Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->getParentClasses('Entities\Link')
#3
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php(211):
Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->loadMetadata('Entities\Link')
#4
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php(295):
Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->getMetadataFor('Entities\Link')
#5
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/doctrine/orm/lib/Doctrine/ORM/Repository/DefaultRepositoryFactory.php(67):
Doctrine\ORM\EntityManager->getClassMetadata('Entities\Link')
#6
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/doctrine/orm/lib/Doctrine/ORM/Repository/DefaultRepositoryFactory.php(50):
Doctrine\ORM\Repository\DefaultRepositoryFactory->createRepository(Object(Doctrine\ORM\EntityManager),
'Entities\Link')
#7
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php(759):
Doctrine\ORM\Repository\DefaultRepositoryFactory->getRepository(Object(Doctrine\ORM\EntityManager),
'Entities\Link')
#8
/home/ubuntu/NetBeansProjects/antenne-tilburg/module/Cms/src/Cms/Service/LinkService.php(35):
Doctrine\ORM\EntityManager->getRepository('Entities\Link')
#9
/home/ubuntu/NetBeansProjects/antenne-tilburg/module/Cms/src/Cms/Service/ServiceAbstractServiceFactory.php(49):
Cms\Service\LinkService->__construct(Object(Doctrine\ORM\EntityManager))
#10 [internal function]:
Cms\Service\ServiceAbstractServiceFactory->createServiceWithName(Object(Zend\ServiceManager\ServiceManager),
'cmsservicelinks...', 'Cms\Service\Lin...')
#11
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(902):
call_user_func(Array, Object(Zend\ServiceManager\ServiceManager),
'cmsservicelinks...', 'Cms\Service\Lin...')
#12
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(1064):
Zend\ServiceManager\ServiceManager->createServiceViaCallback(Array,
'cmsservicelinks...', 'Cms\Service\Lin...')
#13
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(620):
Zend\ServiceManager\ServiceManager->createFromAbstractFactory('cmsservicelinks...',
'Cms\Service\Lin...')
#14
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(572):
Zend\ServiceManager\ServiceManager->doCreate('Cms\Service\Lin...',
'cmsservicelinks...')
#15
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(504):
Zend\ServiceManager\ServiceManager->create(Array)
#16
/home/ubuntu/NetBeansProjects/antenne-tilburg/module/Cms/src/Cms/Controller/LinkController.php(38):
Zend\ServiceManager\ServiceManager->get('Cms\Service\Lin...')
#17
/home/ubuntu/NetBeansProjects/antenne-tilburg/module/Cms/src/Cms/Controller/LinkController.php(70):
Cms\Controller\LinkController->getLinkService()
#18
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractActionController.php(83):
Cms\Controller\LinkController->indexAction()
#19 [internal function]:
Zend\Mvc\Controller\AbstractActionController->onDispatch(Object(Zend\Mvc\MvcEvent))
#20
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468):
call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#21
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(207):
Zend\EventManager\EventManager->triggerListeners('dispatch',
Object(Zend\Mvc\MvcEvent), Object(Closure))
#22
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractController.php(117):
Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent),
Object(Closure))
#23
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/zendframework/zendframework/library/Zend/Mvc/DispatchListener.php(114):
Zend\Mvc\Controller\AbstractController->dispatch(Object(Zend\Http\PhpEnvironment\Request),
Object(Zend\Http\PhpEnvironment\Response))
#24 [internal function]:
Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent))
#25
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468):
call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#26
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(207):
Zend\EventManager\EventManager->triggerListeners('dispatch',
Object(Zend\Mvc\MvcEvent), Object(Closure))
#27
/home/ubuntu/NetBeansProjects/antenne-tilburg/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php(313):
Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent),
Object(Closure))
#28 /home/ubuntu/NetBeansProjects/antenne-tilburg/public/index.php(28):
Zend\Mvc\Application->run()
#29 {main}
Does anybody have any advice on this?
--
You received this message because you are subscribed to the Google Groups
"doctrine-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/doctrine-user.
For more options, visit https://groups.google.com/d/optout.