当前位置: 首页 > 面试题库 >

如何设置表中不存在但在原始SQL中存在的实体字段作为别名?

柯天宇
2023-03-14
问题内容

假设我们有一个类似这样的查询:

SELECT *, (CUSTOM_EXPRESSION) as virtualfield FROM users

用户实体本身具有“虚拟字段”,但映射注释没有,因为表没有此字段。

假设它是作为原始SQL执行的,我们如何用上面的字段填充实体?


问题答案:

我找到了答案。为此,您需要使用标量值。例如:

$rsm = new \Doctrine\ORM\Query\ResultSetMappingBuilder($this->getEntityManager());
$rsm->addRootEntityFromClassMetadata('Category', 'c');
$rsm->addScalarResult('depth', 'depth');
// [ ... ]
$results = $q->execute();
// Output will be a two-dimensional array 
// array(0 => array(0 => CategoryObject, 'depth' => 'scalar-value', // ... ), // ...)

然后,您可以遍历它,并根据需要在对象上设置属性。



 类似资料:
  • 问题内容: 在golang中,有没有办法查看是否可以将解编入结构的json字段与设置为null的json字段区分开?因为两者都将struct中的值设置为nil,但是我需要知道字段是否以该字段开头,并查看是否有人将其设置为null。 VS 当解组为结构时,两个json均为零。任何有用的资源将不胜感激! 问题答案: 使用以“拖延”解组过程决定做某件事之前要确定原始字节: 参观游乐场https://pl

  • 问题内容: 如何检测Java中给定的SQL数据库中是否存在某个表? 问题答案: 您可以使用DatabaseMetaData.getTables()获取有关现有表的信息。 该方法透明地工作,并且独立于数据库引擎。我认为它查询后台的信息模式表。 编辑: 这是一个显示所有现有表名的示例。

  • 问题内容: 我在此代码中隔离了我的问题。运行它时,出现错误: [查询3中的错误]“字段列表”中的未知列“ purchase_date” 有人知道吗? 问题答案: 语句之间和中插入了一个不可打印的字符30(RecordSeparator)。只需删除文本,然后手工重写就可以了。

  • 问题内容: 我正在使用带有实体框架5的asp.net mvc3。我有.edmx文件,并能够使用linq或SP与数据库交互,但是我想运行一些原始sql语句。我正在尝试这样的事情: 是否有可能以这种方式执行sql查询?谢谢。 问题答案: 您可以执行以下类型的查询: 对实体类型的SQL查询,该查询返回特定类型的实体。 { } 非实体类型的SQL查询,该查询返回原始数据类型。 { var studentN

  • 在react native中,我设计了一个示例,当我在不同的IOS设备中检查它时,这里是我的代码: 当我签入iphone-6和5s字体问题即将到来,任何人帮助我解决这个问题,如何设置不同IOS设备的字体大小在反应原生任何帮助很多通知

  • 问题内容: 有什么办法可以列出Django模型表中存在的字段 如何从表Profile中列出文件名(就像desc Profile;在mysql中) 谢谢。 问题答案: 将为您提供字段列表。字段对象的属性包含字段名称。将返回的2元组的列表,以作为如果该字段中。