我正在尝试将默认 DBAL 连接注入与实体关联的自定义存储库,以便我可以执行一些原始 sql 查询。
在 services.mxl
<service id="acme.repository.document" class="Acme\Bundle\Repository\DocumentRepository">
<argument type="service" id="doctrine.orm.entity_manager" />
<argument>Acme\Bundle\Entity\Document</argument>
<argument type="service" id="database_connection" />
</service>
在我的存储库类 DocumentRepository.php
class DocumentRepository extends EntityRepository {
protected $conn;
public function __construct($em, $class, Connection $conn)
{
$this->conn = $conn;
parent::__construct($em,$class);
}
但我得到这个错误:
可捕获的致命错误:传递给 Acme\Bundle\Repository\DocumentRepository::__construct() 的参数 3 必须是 Doctrine\DBAL\Connection 的实例,没有给出,在 /project/vendor/doctrine/orm/lib/Doctrine/ORM 中调用/EntityManager.php 在第 689 行并在 /project/src/Acme/Bundle/Repository/DocumentRepository.php 第 18 行中定义
你能帮帮我吗?