我最近升級從2.0.x版本的Symfony我的項目之一,2.1.x的調用未定義的方法原則包 DoctrineBundle 註冊表中:堅持()
一切工作正常,但是當我試圖堅持的在服務實體,PHP拋出一個錯誤:
Call to undefined method Doctrine\Bundle\DoctrineBundle\Registry::persist()
在控制器,一切工作正常。即使在服務中從數據庫獲取對象也能正常工作,但沒有撥打->persist($entity)
。
這是我的服務定義:
registration_form:
class: KnowHow\ERegistration\BackendBundle\Service\RegistrationFormService
arguments: [ @doctrine ]
而我的等級:
class RegistrationFormService
{
/** @var $em \Doctrine\ORM\EntityManager */
private $em;
/**
* Ctor.
*
* @param $doctrine
*/
public function __construct($doctrine)
{
$this->em = $doctrine;
}
}
這是正常的,但是當我嘗試做一些像THI $this->em->persist($entity)
錯誤被拋出。
我不知道那裏發生了什麼。
天哪......當然......謝謝很多! –
@JohannesKlauß:不客氣 – DonCallisto
我只是補充說,這也是好主意強類型參數注入(例如公共職能__construct(Doctrine \ ORM \ EntityManager $學說))。它真的可以幫助你在未來避免這種類型的錯誤。 – Cyprian