我開始開發新的應用程序,這是我用ZF2編寫的第一個應用程序。我對使用Doctrine1進行ZF1應用有一些經驗,但現在我想使用ZF2和Doctrine2進行應用。 默認實體文件夾位於模塊目錄中。我想有一個模型文件夾,它在整個應用程序中共享。所以我準備了這樣的應用程序結構:ZF +主義 - 模型文件夾的本地化本地化
config
models
generated
module
Administration
Application
public
vendor
我設計了數據庫(MySQL)並使用Doctrine CLI將它導入到XML表單。我也生成了模型。但現在我有問題 - 如何在我的模塊中使用它?我準備了一些代碼:
protected $em;
public function setEntityManager(EntityManager $em)
{
$this->em = $em;
}
public function getEntityManager()
{
if (null === $this->em) {
$this->em = $this->getServiceLocator()->get('Doctrine\ORM\EntityManager');
}
return $this->em;
}
public function indexAction()
{
return new ViewModel(array(
'carriers' => $this->getEntityManager()->getRepository('Carrier')->findAll()
));
}
而且我有一個錯誤'Class Carrier not found'。這是一個路徑問題,但我在ZF2中是全新的,我不知道如何配置它......
我已經把這個代碼到我的模塊/應用/配置/ module.config.php: \t「教義 '=>數組( \t 'orm_autoload_annotations'=>真, \t '司機'=>數組( \t __NAMESPACE__。 '_driver'=>數組( \t '類'=>' 學說\ ORM \映射\驅動\ XmlDriver', \t'cache'=>'array', \t'paths'=> array(__ DIR__。 '/../../../models') \t) \t 'orm_default'=>數組( \t '司機'=>數組( \t __NAMESPACE__。 '\實體'=> __NAMESPACE__。「_driver ' \t) \t) \t) 但仍然出現上述錯誤。 –
請參閱更新的答案,錯誤可能只是錯誤的方法來調用存儲庫 – Sam
不幸的是,我仍然有相同的錯誤(只是差異是錯誤消息中類的名稱) –