我有一个控制器:
public function getAllItemsAction()
{
$content = $this->getDoctrine()->getRepository(Item::class)->findAll();//<-(1)--THIS TO REPOSITORY
if ($content === NULL) {
return new View("Items not found", Response::HTTP_NOT_FOUND);
}
return new View($content,Response::HTTP_OK);
}
如何将此行(1)移动到存储库,然后从控制器的存储库中使用此方法?
答案 0 :(得分:0)
您突出显示的行实际上与Doctrine无关:您从Dependency Injection容器获取服务,然后在其上调用方法。
令您烦恼的是您正在使用别名(getDoctrine()
)和来自Doctrine的注册表,这是为了方便。
但实际上您也可以将存储库声明为服务并执行此操作:$this->get('item_repository
) - &gt; findAll()`。