Я хочу установить экземпляр EntitiesManager, доступный на моем контроллере. Я хочу, чтобы экземпляр был доступен с помощью $ this-> em на контроллере. Это моя конфигурация:Doctrine2 + Zend Framework 2 - EntitiesManager как переменная в контроллере
module.config.php
[...]
'doctrine' => array(
'driver' => array(
'application_entities' => array(
'class' =>'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/Application/Entity')
),
'orm_default' => array(
'drivers' => array(
'Application\Entity' => 'application_entities'
),
),
),
),
'di' => array(
'instance' => array(
'alias' => array(
'application' => 'Application\Controller\IndexController',
),
'Application\Controller\IndexController' => array(
'parameters' => array(
'em' => 'doctrine_em',
),
),
),
),
IndexController.php
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use \Doctrine\ORM\EntityManager;
class IndexController extends AbstractActionController
{
protected $em;
public function setEm(EntityManager $em) {
$this->em = $em;
return $this;
}
public function indexAction() {
$user1 = $this->em->find('\Application\Entity\User', 1);
var_dump($user1->getFullname());
}
Я получил эту ошибку: "Фатальная ошибка: Вызов функции члена находке() на не-объект ". Кажется, что EntityManager неправильно создает экземпляр.
Что мне недостает?
Спасибо!
Я не использую Учение, но это кул d, у вас нет определения в DI для «doctrine_em», не уверен, добавляет ли модуль для этого – Andrew
Да «doctrine_em» не имеет отношения ни к чему, как я должен относиться к EntityManager? – Siol