如何在原则 2 中进行复杂的实体关联查询? (虚拟实体)

2023-12-20

假设我有一个博客应用程序。
作者可以通过提供网络上现有图像的 URL 链接或上传新图像来将多个图像添加到帖子中。

我希望能够从图像(上传或网址)回溯到使用该图像的所有帖子,以及从特定帖子回溯到该帖子中的所有图像(例如 - 这样我就可以删除非法图像和/或暂停使用它们的帖子,直到作者修复该帖子)。

但是,我对上传的图像和 url 图像使用不同的实体 - 上传的图像比 url 图像具有更多有关图像的数据。

这会导致更复杂的代码,因为在每次保存编辑后的帖子时,我需要检查特定图像是哪种类型(在我需要运行的帖子中的所有图像中),然后创建或更新其记录,并且分配给帖子实体中的关系字段。

所以...假设我有一个UploadedImage and a UrlImage实体,我想过有一个setImages方法中的post实体,它检查它获取的每个图像是否已上传或 url,然后调用setUploadedImages or setUrlImages.

但是,我需要某种虚拟的images存储库,以相同的方式加载图像。

听起来有点复杂,我想知道:

  1. 我怎样才能拥有一个虚拟学说实体(及其存储库和所有内容)?
  2. 有没有更好的设计呢?

这是您想要执行的操作的文档:
http://doctrine-orm.readthedocs.org/en/latest/reference/inheritance-mapping.html http://doctrine-orm.readthedocs.org/en/latest/reference/inheritance-mapping.html

它描述了单表继承与类表继承。 您的情况适合后一种情况,但也请考虑迁移到单表继承。

如果这些图像的(代码)用户无论其来源如何都对它们一视同仁,那么增加的查询复杂性和数据库使用将不值得标准化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在原则 2 中进行复杂的实体关联查询? (虚拟实体) 的相关文章

  • ORDER BY 字段内的 MySQL 子查询。 (没有内连接)

    有很多与此相关的问题 但都具有使用内部联接的相同答案 这 我认为 在这里是不可能的 如果我错了请告诉我 我现在正在做的是调用两个不同的 mysql 查询来获取结果 它工作完美 db gt query SELECT FROM meta WHE
  • 搜索引擎如何找到相关内容? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Google 在解析网络时如何找到相关内容 例如 Google 使用 PHP 原生 DOM 库来解析内
  • 简单的 PHP 条件帮助: if($Var1 = in list($List) and $Cond2) - 这可能吗?

    这是一个可能的功能吗 我需要检查一个变量是否存在于我需要检查的变量列表中 并且 cond2 是否为 true 例如 if row name 1 2 3 Cond2 doThis 它对我不起作用 我在复制粘贴中更改的只是我的列表和变量名称 i
  • 删除PHP字符串中所有不匹配的字符?

    我有一个文本 我想从中删除所有不属于以下字符的字符 所需字符 0123456789 abcdefghijklmnopqrstuvwxyz n 最后一个是我确实想保留的 n 换行符 要匹配除列出的字符之外的所有字符 请使用反转字符集 http
  • 如何通过 SQL 表关联 SQL 中的实体

    我是数据库设计的初学者 我需要为项目创建数据库 我可以用面向对象的术语解释我想要做什么 值得庆幸的是 数据库专家会很友善地向我解释如何在数据库方面处理这个问题 我想创建一个与位置实体 州 城市 有关系的用户 ID 名称 实体 所以在编程语言
  • MySQL/PDO::quote() 尽管使用 PDO::PARAM_INT 参数,但仍在整数周围加上引号

    无论我传递给什么值 数据类型对 它都会出现 pdo gt quote value type 它总是将其引用为字符串 echo pdo gt quote foo PDO PARAM STR foo as expected echo pdo g
  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • Yii 使用 ajax 进行分页

    我需要使用ajax启用分页 我的代码 控制器 更新内容ajax function actionIndex dataProvider new CActiveDataProvider News array pagination gt array
  • 如何从父类函数访问子类中定义的常量?

    我从 php net 看到这个例子 但 c MY CONST 仅在 5 3
  • posts_search 中的自定义查询

    如何使用此查询作为我的自定义搜索查询 add filter posts search my search is perfect 20 2 function my search is perfect search wp query sWord
  • 如何使用 php 下载/打印页面的特定部分

    我有一个 HTML 页面如下 Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the indust
  • 从 smarty 访问 PHP 文件的变量(本地或全局)

    我有一个 php 文件 其中包含一些本地和全局变量 例如 foo 从此文件中调用 smarty 对象 如何在不更改 PHP 文件的情况下从 smarty 脚本访问 foo Thanks 如果你有一个名为 BASE 的常量变量 并且定义如下
  • 如何在原则 2 迁移中删除外键

    我想在原则 2 迁移中删除外键 但没有 dropForeignKeyConstraint 有谁知道怎么丢掉吗 public function down Schema schema table schema gt getTable table
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

    您好 我有一个 JSON 对象 它是一个二维数组 我需要使用 Ajax Request 将其传递给 PHP 我知道的唯一方法 现在我使用js函数手动序列化我的数组 并获取以下格式的数据 s 1 d 3 4等 我的问题是 有没有办法更直接 有
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主
  • 如何使用 PHPExcel 库从 Excel 获取日期

    我正在尝试使用 PHPExcel 从 Excel 获取日期 但我没有得到日期 我得到的字符串值不是 1970 以来的秒数 我尝试过的代码是 InvDate trim excel gt getActiveSheet gt getCell B

随机推荐

  • 如何在单击时展开文本区域

    我正在开发一个有文本区域的小项目 我需要帮助来使文本区域在鼠标单击时展开 就像 Twitter 和 Facebook 那样 文本区域首先应该看起来像一个文本字段 然后单击时应该展开 这可以在不使用 JavaScript jQuery 的情况
  • R中的时间序列

    我正在电子表格中跟踪我的体重 但我想通过使用 R 来改善体验 我试图在 R 中找到一些有关时间序列分析的信息 但没有成功 我这里的数据采用以下格式 date gt weight gt body fat percentage gt water
  • Angular 5 ngx-bootstrap 表单验证

    我正在读阿里 勒纳的书ng book在 Angular 5 上 我正在使用ngx bootstrap and Bootstrap 4 表单验证似乎并不像勒纳先生实现的那样工作 我不确定这是否是一个限制ngx bootstrap 有人知道吗
  • 显示数组内容的问题

    下面的代码将内容和图像保存到 varcontent i content and vacontent i images 然而 我在正确显示内容和图像的循环之外唯一得到的是 varcontent i content Print r 显示数组的所
  • ValueError:需要解压的值太多(预期为 2)

    在我正在使用的Python教程书中 我输入了一个示例同时分配 当我运行程序时 我得到了前面提到的 ValueError 但不明白为什么 这是代码 avg2 py A simple program to average two exam sc
  • 当应用程序未运行时,GCM 推送通知不会在某些设备中显示

    我在我的应用程序中实现了 GCM 推送通知 并且已成功完成 但在某些设备中 当应用程序关闭时 它不会显示通知 未显示通知的设备列表 Redmi 2 lenovo Gionee 谁能解释一下问题是什么以及我如何解决它 这是我的清单
  • 如何在 Android Management API 中为 Web 应用程序启用 kiosk 模式

    我们的一位客户希望通过网络应用程序启用单一信息亭模式 当我们应用此配置时 它不起作用 网络应用程序不会显示 并且设备无法使用 即使安装了 Chrome 应用程序 当信息亭模式被禁用时 网络应用程序完全可用 所以我猜 AMAPI 方面有问题
  • Numpy:将每一行除以一个向量元素

    假设我有一个 numpy 数组 data np array 1 1 1 2 2 2 3 3 3 我有一个相应的 向量 vector np array 1 2 3 我该如何操作data沿着每一行进行减法或除法 结果是 sub result 0
  • Android;强制 AppWidget 从 SD 卡工作?

    即使应用程序移至 SD 卡且 SD 卡未移动 是否有任何方法可以强制 AppWidget 工作 unmounted Docs http developer android com guide topics data install loca
  • 意外结果,Gnu C 中的三元运算符

    所以三元运算符的运算符优先级为C对我来说真的很奇怪 例证 include
  • 是否有黄屏死机的实现?

    在 ASP NET 中 当您处于DEBUG模式 如果出现故障 您会看到著名的黄屏死机 这表明有一个Server Error in
  • 分配时 Python 字典键错误 - 如何解决这个问题?

    我有一本这样创建的字典 myDict 然后我想在其中添加对应于另一个字典的键 在其中放置另一个值 myDict 2000 hello 50 所以当我经过myDict 2000 hello 某处 它会给50 为什么 Python 不直接创建这
  • 如何通过 API 获取 Google Sheets 中的单元格编辑日期?

    我已经自动更新了包含 1500 多行的 Google 表格 我需要在 A 列单元格更改时用日期填充新列 我试图从中获取数据谷歌云端硬盘修订 https developers google com drive api v3 reference
  • 当不能简单地重载时混合可选参数和参数

    如同这个问题 https stackoverflow com questions 3948971 c sharp 4 0 optional parameters and params do not work together 我想将可选参数
  • 将 Flask 表单数据转换为 JSON 只获取第一个值

    我想从 HTML 表单获取输入并以 JSON 格式提供输出 当选择多个值时 它们不会转换为 JSON 数组 仅使用第一个值 app route form def show form return render template form h
  • 将技术指标添加到图表中。Posn

    由于某种原因 我无法将 ROC 信号添加到吸墨图上 在文档中应该允许它 我想用这个指标创建一个新的图表 有人可以帮忙吗 plot performance for symbol chart Posn strategy AbsMom Symbo
  • 如何在 Javascript 中将二进制数据读取到字节数组?

    我想读取通过 XMLHttpRequest 获取的 JavaScript 二进制文件 并能够操作该数据 通过我的研究 我发现了这种将二进制文件数据读入数组的方法 var xhr new XMLHttpRequest xhr open GET
  • backbone.js 视图继承。父级中的“this”分辨率

    我有一个使用视图继承的案例 我的代码基本上如下所示 parentView Backbone View extend events some event business initialize function bindAll this bu
  • 为什么首选 uint32_t 而不是 uint_fast32_t?

    看起来uint32 t比uint fast32 t 我意识到这是轶事证据 但这对我来说似乎违反直觉 当我看到实现时几乎总是使用uint32 t 它真正想要的是一个可以容纳高达 4 294 967 295 的值的整数 通常是 65 535 和
  • 如何在原则 2 中进行复杂的实体关联查询? (虚拟实体)

    假设我有一个博客应用程序 作者可以通过提供网络上现有图像的 URL 链接或上传新图像来将多个图像添加到帖子中 我希望能够从图像 上传或网址 回溯到使用该图像的所有帖子 以及从特定帖子回溯到该帖子中的所有图像 例如 这样我就可以删除非法图像和