Symfony / Doctrine:从数据库外部获取实体字段

Dkisselev

我正在开发一个电子商务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文档所建议的)

我在这里提出了类似的问题,但没有得到非常明确的答复,因此我希望简化问题可能会有所帮助。

dmnptr

我将创建一个服务来访问您的REST API数据,然后将其注入到Doctrine中EventSubscriber在该订户内部,我将处理postLoad事件以从REST API加载数据。

该服务可以是现有捆绑软件的一部分。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Symfony + Doctrine功能数据库测试

Symfony Doctrine 重置数据库

Symfony5/Doctrine:创建一个实体而不保存到数据库

如何从数据库中的现有数据生成子弹字段-Doctrine Symfony2

Doctrine&Symfony-使用数组列上的参数从数据库获取数据

Symfony2,Doctrine,从数据库获取数据以生成Excel

Symfony 4实体datetime字段返回当前日期而不是数据库

从数据库中获取ManyToOne关系的反面时,Symfony / Doctrine无限递归

如何使用Doctrine和Symfony查询数据库数据

如何从数据库中加载Symfony的配置参数(Doctrine)

如何从Symfony中的数据库/实体中删除表?

如何从现有数据库更新 Symfony 实体?

Symfony从数据库表中获取所有字段名称

从Symfony2中的数据库中获取字段

Symfony Doctrine 实体概述

Symfony和数据库

如何在Fixtures Symfony中从数据库获取对象

如何使用symfony获取Doctrine实体持久性集合数据值

Symfony 4 API Rest PUT:将数据映射到数据库实体

Symfony2 Doctrine2 Oracle数据库NUMBER DEFAULT类型?

Symfony 3:Doctrine将NULL值存储在数据库中

组,消息和位置之间的Symfony2 / Doctrine2数据库关系

在Symfony中使用config.php和doctrine.yaml使用动态数据库名称

使用Symfony 2,Doctrine将数组保存到SQL数据库中?

Symfony2 \ Doctrine-数据库中的存储阵列

无法在Symfony中使用Doctrine连接到mysql数据库

通过套接字的Doctrine2(Symfony4)数据库连接URL

从 Doctrine 实体 (Symfony3) 中获取所有值

[PHPUnit],[Symfony]:测试是否已将实体保存在数据库中