I need to create native SQL query with couple of unions and subqueries. It'll look approximately like this:

我需要使用几个联合和子查询创建本机SQL查询。它看起来大致如下:

SELECT res.id, COUNT(*) as count_ids
FROM (
    SELECT a.id FROM ... a WHERE ... LIKE ('%:param%')
    UNION ALL
    SELECT b.id FROM ... b WHERE ... LIKE ('%:param%')
    UNION ALL
    ...
) res
GROUP BY res.id
ORDER BY count_ids asc

Result won't match any Entity I use in my application. Is it possible to create ResultSetMapping with "anonymous" object? Or is it, at least, possible to create an Entity that wouldn't create table next time I update schema, so I can map results to it?

结果将不匹配我在我的应用程序中使用的任何实体。是否可以使用“匿名”对象创建ResultSetMapping?或者,至少可以创建一个实体,下次我更新架构时不会创建表,所以我可以将结果映射到它?

Or is there any other Doctrine-friendly way to deal with such query? Making changes to database isn't possible though, as I'm dealing with legacy stuff that cannot be touched. I'd also strongly prefer if I did everything on database side, not involving much of PHP in it.

或者是否有任何其他Doctrine友好的方式来处理这样的查询?但是,对数据库进行更改是不可能的,因为我正在处理无法触及的遗留内容。如果我在数据库方面做了所有事情,并且不涉及大量PHP,我也非常喜欢。

2 个解决方案

#1


39

Do you have a particular need to map results to a domain object? If not, you could use the DBAL to make a plain old query, which will return an array, as detailed in the Symfony2 cookbook and the Doctrine DBAL documentation:

您是否特别需要将结果映射到域对象?如果没有,您可以使用DBAL创建一个普通的旧查询,它将返回一个数组,详见Symfony2 cookbook和Doctrine DBAL文档:

$conn = $this->container->get('database_connection');
$sql = 'SELECT res.id, COUNT(*)...';
$rows = $conn->query($sql);

更多相关文章

  1. PHP面向对象笔记 —— 113 封装概念
  2. PHP的语言特性-面向对象和C++/java/python的相似之处
  3. php面向对象之抽象类和接口理解
  4. 键入提示 - 指定对象数组
  5. PHP 创建对象的两种方法
  6. Python:我如何从datetime.timedelta对象中获取时间?
  7. php如何以一个对象作为数组下标?
  8. 【动软.Net代码生成器】连接MySQL生成C#的POCO实体类(Model)
  9. php数据库数据转换为js中的json对象

随机推荐

  1. Google Android Market疑遭屏蔽
  2. Android项目应用程序—应用程序及生命周
  3. 关于Android机型的pid vid的那些破事儿
  4. Android(安卓)开发者的 Flutter(六) —— F
  5. 基于 Android(安卓)NDK 进行 OpenGL ES开
  6. android wifi 无线调试
  7. [Android] 如何制作手电筒程序
  8. 如何在 Windows 平台上下載 Android 的原
  9. Android中Shape 和 Selector的用法
  10. android studio 快捷键修改