Я работаю над пакетным процессом, и он запускается через командную строку. В консольном приложении я использую $this->getContainer()->get('doctrine.orm.entity_manager')
получить доступ к доктрине ORM где как из любого файла контроллера $emr = $this->getDoctrine()->getManager();
используется. Этот второй метод не будет работать для консоли / командной строки.
Если я пытаюсь использовать любую функцию (функции в контроллере), которая persists
или же save
данные в БД дают ошибку.
private function addActionForReject($docketNumber, $emr)
{
$mAction = new Action();
$date = new \DateTime();
$mAction->setActionId(ConstantRest::NO_FURTHUR_REVIEW_ACTION_ID);
.....
$emr->persist($mAction );
$emr->flush();
Эта функция выше в контроллере, и в командном файле я создал экземпляр этого. Используя экземпляр, который я назвал addActionForReject
мимоходом $emr
объект, который является $this->getContainer()->get('doctrine.orm.entity_manager')
в этом случае.
Но это будет давать ошибку PHP Fatal error: Call to a member function has() on null in C:\xampp\htdocs\GR\
vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Controller\Controller.
php on line 288
ПРИМЕЧАНИЕ: я могу получить данные из БД. проблема только тогда, когда я пытаюсь сохранить данные объекта.
Задача ещё не решена.
Других решений пока нет …