在模块内部执行Doctrine Dbal查询的存储库

时间:2018-08-11 17:29:40

标签: prestashop prestashop-1.7

我的目标是能够从PS 1.7.4.2模块内部执行SQL查询。鼓励文档使用Doctrine Dbal服务。

来自documentation

  

即使使用旧方法检索数据仍然有效   (产品:: getProducts或通过网络服务),我们希望   在此处介绍最佳做法:使用存储库并利用   对象模型。这有很多优点,您依赖数据库   而不是模型,您将获得更好的性能和控制力   您的数据。

如果我将存储库类放在src/Prestashop/Entity/Repository中,我认为它不符合PS原理,因为它会在升级后产生问题。

那么将存储库类放在哪里?

1 个答案:

答案 0 :(得分:0)

通过在模块内部执行composer init并将模块中的src映射到Foo命名空间来解决问题。

然后在模块文件中,您可以从容器访问服务,即Doctrine服务。

您还可以将自己的存储库类定义为服务,并从容器中获取它们。