我正在开发一个电子商务Symfony应用程序,但是我一直在努力寻找有关如何创建实体以从Doctrine检索某些数据以及从外部来源检索某些数据的信息。
这是一个网站,将出售与已经具有预先库存系统的实体商店内可用的商品相同的网站。
我目前的情况是,该应用程序需要能够从外部来源(我们的店内库存系统的REST API)检索价格和库存信息,而大多数数据是由Doctrine处理的。
例如,我有一个Product类,如下所示:
class Product
{
protected $id;
protected $title;
protected $description;
protected $quantity;
protected $price
}
我希望像其他任何实体一样,Doctrine可以处理前三个字段(我已经建立了该字段,并且有大量文档),但是后两个字段是根据任意数据源(REST API的REST API)来检索的。我们的后端数据,并且需要能够随着商店的增长及其后端的变化而改变)
最终,我希望这些产品实体可以从任何标准原则查询中调用,并且所有字段都像其他实体一样完全可用。(包括价格和数量)
我想知道是否有人可以建议如何在Symfony生态系统中解决此问题。
在这一点上,我正在研究一个Doctrine postLoad事件订阅者,该订阅者在实体返回之前对其进行操作,但是我想知道这是否可行,以及如何构造代码来实现。(我想我首先需要一个单独的捆绑包来公开“价格”服务,所以我可以执行$ Service-> getPrice($ ProductID),然后将getPrice调用放在何处?我感觉那不是什么东西属于实体类本身的内部(因为类的目的只是定义实体是什么,而不是如何创建实体),但这正是Doctrine文档所建议的)
我在这里提出了类似的问题,但没有得到非常明确的答复,因此我希望简化问题可能会有所帮助。
我将创建一个服务来访问您的REST API数据,然后将其注入到Doctrine中EventSubscriber
。在该订户内部,我将处理postLoad
事件以从REST API加载数据。
该服务可以是现有捆绑软件的一部分。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句