MYSQL排序与主义

2024-01-22

如本文所述question https://stackoverflow.com/questions/41126279/doctrine-orm-order-by-annotations-object-fields并回答“不可能” 我提出了一个新问题

所以我的问题是这样的: 我有一张表(服务提供商表) 每个服务提供商都有许多具有 OneToMany 关系的报价(报价表) 每个 Offer 都有一个具有 ManyToOne 关系的主服务(服务表)。 我想做的是按照与 serviceProvider.points 相关的顺序获取所有服务提供商及其报价,然后与 serviceProvider.name 相关,并且每个服务提供商的报价应按其积分排序。 因此,为了更清晰的视图,假设我有以下内容

ServiceProvider
-------------------------------------------------
id      |        name     |    points    |offers|
-------------------------------------------------  
1       |        c        |      2       |1,2,3 |
-------------------------------------------------
2       |        b        |      1       |1,2   |
-------------------------------------------------
3       |        a        |      0       |1,3   |
-------------------------------------------------
ServiceOffer
-----------------------------------
id      |     name        |service|
-----------------------------------
1       |      a          |   1   |
-----------------------------------
2       |      b          |   1   |
-----------------------------------
3       |      c          |   2   |
-----------------------------------
Service
-----------------------------------
id      |    name    |    points  |
-----------------------------------
1       |      a     |      23    |
-----------------------------------
2       |      b     |      88    |
-----------------------------------

我真正需要的是这样的结果

results
service_provider.name| offers.name  |
-------------------------------------
c                    |   b , a      |
-------------------------------------
b                    |   a , b      |
-------------------------------------
a                    |   b , a      |
-------------------------------------

这是我尝试过的查询,但它不起作用

$query->select("sp")
            ->from("CoreBundle:ServiceProvider","sp")
            ->andWhere("sp.city = :city_name")->setParameter("city_name",$cityName)
            ->innerJoin("sp.offers","offer")
            ->innerJoin("offer.service","service","with","offer.service = service")
            ->orderBy("sp.points DESC , sp.name ASC , service.points");

需要的领域

在服务提供者中

/**
* @var ServiceOffer
*
* @ORM\OneToMany(targetEntity="ServiceOffer", mappedBy="serviceProvider")
*/
private $offers;

在役

/**
* @var integer
*
* @ORM\Column(name="points", type="integer", nullable=true)
*/
private $points;

服务报价中

/**
* @ORM\ManyToOne(targetEntity="Service", inversedBy="offer")
* @ORM\JoinColumn(name="service_id", referencedColumnName="id")
*
* @Serializer\Expose
* @Serializer\Groups({"service-offer", "order-entry"})
*
* @Assert\NotBlank(message="constraint.serviceOffer.service.not_blank")
*/
private $service;

你不能简单地列举ORDER BY对教义的指示。您可以给一个->orderBy()方法调用,给出要使用的字段和方向(可选,ASC是默认值)作为参数,并且必须使用以下命令添加更多订单字段addOrderBy方法。您的查询应该类似于

$query->select("sp")
    ->from("CoreBundle:ServiceProvider","sp")
    ->andWhere("sp.city = :city_name")->setParameter("city_name",$cityName)
    ->innerJoin("sp.offers","offer")
    ->innerJoin("offer.service","service","with","offer.service = service")
    ->orderBy("sp.points", "DESC")
    ->addOrderBy("sp.name", "ASC")
    ->addOrderBy("service.points");

请参阅有关此主题的文档。 http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/query-builder.html#order-by-clause

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

MYSQL排序与主义 的相关文章

  • MySQL:你能指定一个随机限制吗?

    有没有办法在 SQL MySQL 中随机化限制数字 我希望能够做的是在查询中获取随机数量的结果以在插入子查询中使用 而无需任何服务器端脚本 我希望能够作为假设说明运行的查询是 SELECT id FROM users ORDER BY RA
  • 为 Mariadb 安装连接器 C

    所以 我想使用 Mariadb 有一个连接器 C https downloads mariadb org connector c https downloads mariadb org connector c 我该如何安装它 坦白说 它的文
  • 如何在 WP_Query 中按日期排序?

    我已经尝试过这种方式但是orderby and order不适用于 WP Query 类 posts new WP Query array post type gt block code orderby gt post date order
  • 如何在 Laravel 中编写联合查询?

    我正在使用 laravel 5 0 并且我有 mysql 查询 SELECT surat masuk id surat surat masuk nomor surat FROM surat masuk WHERE EXISTS SELECT
  • 如何在MySQL中查找上周的数据

    我想显示来自 Q1 每个学生只有最后一周 Q2 每个学生只有最后一个月 我怎样才能实现这个目标 一周演示 http sqlfiddle com 2 f1fbb 3 当月演示 http sqlfiddle com 2 f1fbb 4 CREA
  • 显示过去 7 天 PHP 的结果

    我想做的是显示过去 30 天的文章 但我现有的代码不断给我一个 mysql fetch assoc 错误 然后追溯到我的查询 这是代码 sql mysql query SELECT FROM table WHERE DATE datetim
  • 在mysql中搜索“SanF”时获取旧金山的记录

    当我搜索 SanF 时获得 San Francisco 记录 SELECT FROM table WHERE col LIKE san Works SELECT FROM table WHERE col LIKE san F Works S
  • 在 MySQL 中分割逗号分隔值

    我正在尝试将字符串中以逗号分隔的 值拆分为多列 样本数据 COL1 COL2 COL3 000002 000003 000042 09 31 51 007 004 007 预期输出 Pno Cno Sno 000002 09 007 000
  • MySQL“选择更新”行为

    根据 MySql 文档 MySql 支持多粒度锁定 MGL case 1 开放航站楼 1 连接到mysql mysql gt start transaction Query OK 0 rows affected 0 00 sec mysql
  • SQL 大表中的随机行(使用 where 子句)

    我有一个网站 人们可以在其中对汽车进行投票 向用户展示 4 辆汽车 他 她可以投票选出他们最喜欢的汽车 桌子cars有重要的列 car id int 10 not auto increment so has gaps views int 7
  • 在 MySQL 中将行转置为列

    如何在 MySQL 查询中将行转换为列 您可以将行变成a列与GROUP CONCAT 但您无法以任何自动方式转置整个结果集 您可以编写手动生成每一列的查询 也可以在应用程序中执行此操作 以下是有关编写复杂查询来模拟转置的教程 http ww
  • 如何将 php Web 应用程序转换为桌面应用程序并保留数据库 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们有一个用 PHP 开发的 Web 应用程序 但大多数客户并没有一直连接到互联网 那么 有没有办法将应用程序转换为桌面应用程序 以便
  • 如何将 Doctrine Entity Manager 注入 Symfony 4 服务

    我有一个控制器 use Doctrine ORM EntityManagerInterface class ExampleController public function someFunction ExampleService inje
  • PMA 4.5.2.0 file_exists():open_basedir 限制生效

    从 PPA 在我的 Ubuntu 服务器上安装 phpMyAdmin 后 https launchpad net nijel archive ubuntu phpmyadmin https launchpad net nijel archi
  • 更新重复密钥上的复合密钥 [重复]

    这个问题在这里已经有答案了 我需要更新新行 如果两者都满足 date dat and empId who 作为复合键 但如果其中之一或两者不同 则插入 sql INSERT INTO history SET endtimestamp now
  • Laravel Sum 列数据库 Eloquent

    尝试获取我的一个表中 int 字段的总和应该非常容易 不幸的是 事实并非如此 因为无论我使用 Laravel MySQL 还是 Excel 我都会得到不同的结果 Laravel 5 4 给了我20506 Table sum field na
  • 如何在 join 语句中进行计数

    我有桌子post int post id varchar title text content和表comment int comment id int post id varchar content其中 post id 是外键引用表帖子 如
  • Laravel Group By 和 Order By 不起作用

    我尝试制作一个Laravel 5 8项目 项目中的数据是这样的 id purch name prcvalue 1 10234 Nabila 100 2 10234 Nadeera 450 3 10234 Nabila 540 4 10234
  • 我可以在一个查询中更新/选择表吗?

    我需要在查看页面时选择数据并更新 视图 列 有没有一种方法可以在一个查询中执行此操作 或者我是否必须使用不同的查询 如果您不想 不需要使用事务 则可以创建一个存储过程 该过程首先更新视图计数 然后选择值并将其返回给用户
  • 如何使用 PHP 获取列中的所有值?

    我一直在到处寻找这个问题 但仍然找不到解决方案 如何从 mySQL 列中获取所有值并将它们存储在数组中 例如 表名称 客户 列名称 ID 名称 行数 5 我想获取此表中所有 5 个名称的数组 我该如何去做呢 我正在使用 PHP 我试图 SE

随机推荐

  • 从表格中删除内容并重新格式化表格

    我想要做 我的页面以以下格式显示表格的数据 有什么方法可以删除具有空白值的内容并重新格式化表格 如下所示 额外细节 实际表格中的任何值都可能为空白 请参阅第一张图片 我想删除那个特定的Test行 具有空白值 并通过均匀分布剩余内容来重新格式
  • SBT 挂起等待孤立子进程完成

    在我的 SBT 0 13 16 版本中 我有以下任务 startThing var bin path s file getAbsolutePath bin val result s bin path start thing if resul
  • iOS 5:您可以覆盖特定类中的 UIAppearance 自定义吗?

    我正在构建一个带有许多视图控制器的应用程序 我有一个UITabBarController其中容纳 4UINavigationController 我希望所有导航栏都是我的自定义颜色 比如蓝色 我通过在应用程序委托中执行此操作来实现 UINa
  • 设置鼠标位置

    我需要能够将鼠标位置设置到屏幕 窗口的中间 我怎样才能做到这一点 该文档似乎表明CGDisplay移动光标到点 http developer apple com library mac documentation GraphicsImagi
  • Git 远程恢复

    我是 Git 新手 正在使用 WebStorm 来推送和拉取我的代码 我们正在开展一个共同的项目 昨晚我的朋友更新了一些代码并推送了更改 今天 我拉取了代码并合并了更改 但我错误地保留了更改并放弃了拉取请求提供的更改 然后将这些更改推送到
  • 如何获取 Laravel CSRF-token 以通过 React 中的 fetch post 请求发送它?

    我正在使用开发网络应用程序创建反应应用程序和拉维尔 创建反应应用程序在 localhost 3000 上运行开发项目 而 laravel 后端在 localhost 8080 上运行 这是我的代码的一部分 const onSubmit e
  • 修复了 Highcharts 中的 y 轴标签宽度

    我正在构建一个数据演示 其中两个 Highcharts 图表垂直堆叠 旨在共享相同的 x 轴单位和对齐方式 就像这样 请注意 由于两个图表的 y 轴范围不同 因此 y 轴标签的宽度不同 因此图表本身的宽度略有不同 破坏了良好的 x 轴对齐
  • 如何让 System.Net.Http.HttpClient 不遵循 302 重定向?

    Using 来自 NuGet 的 HttpClient http nuget org packages HttpClient 应用程序使用 client PostAsync 发送帖子 我希望它不遵循 302 重定向 how 我想我可以设置A
  • 将元描述和开放图谱协议描述合并到一个标签中

    是否可以将元描述和开放图协议描述结合起来 当它们包含相同的内容时合而为一 是的 您可以将它们结合起来 为了测试它 我制作了下面的简单 HTML 页面 将其上传到服务器 然后通过 Facebook 运行该页面网址检查器 https
  • 更新 LayoutView 的模型

    JSBin 链接 http jsbin com rosadomisa edit html js console output 单击 Clicks 链接可查看显示更新后的模型数据的控制台 但原始显示的 HTML 不会更改 更新 LayoutV
  • 将 Windows 对话框错误消息重定向到控制台

    有谁知道如何重定向 捕获模式 Windows 错误对话框 对于仅尝试运行程序并捕获退出代码和 stdout stderr 输出的非交互式命令行程序来说 这确实是个问题 此问题的最新实例是一个模态 Windows 对话框 其形式如下 The
  • AWS S3 最大文件和上传大小

    AWS S3 文档说 单个 Amazon S3 对象的大小范围最小为 0 字节到最大 5 TB 最大的物体可以 一次 PUT 上传的大小为 5 GB 如果我只能上传 5GB 的文件 如何存储 5TB 的文件 根据文档here http do
  • Python 3.5 async for 阻止 ioloop

    我有一个带有两个处理程序的简单 aiohttp 服务器 第一个在中进行一些计算async for环形 第二个仅返回文本响应 not so long operation以最慢的递归实现返回第 30 个斐波那契数 大约需要一秒钟 def not
  • Akka.Net 发送巨大消息(最大帧大小)

    我有一个关于增加最大帧大小和发送 接收缓冲区大小值的问题 他们的高度有限制吗 我将大量数据传递到系统中 比如 20mb 然后用于计算一些结果并返回 将上述参数设置为 100mb 会导致消息被丢弃 在这种情况发生之前我可以通过的最大块大约是
  • 如何在 LDAP 中按 DN 进行搜索?

    我正在从 LDAP 中提取有关用户的信息 这包括 directReports 它是完整的CN cnBlah OU ouBlah DC dcBlah形式 我正在尝试再次查找有关该记者的信息 到目前为止 我能够真正找到所述用户的唯一方法是打破C
  • 关于“==”运算符行为的解释

    在下面的非常简单的示例中 我无法理解 运算符的行为 A lt c 10 20 10 10 20 30 B lt c 40 50 60 70 80 90 df lt data frame A B df df A c 10 20 it retu
  • mongodb ISODate 问题

    我正在使用java IDE是eclipse 在mongodb上查询 下面是我的java代码 DBObject query new BasicDBObject ObjectId id new ObjectId 529f280b90ee58cb
  • SpringBoot:配置生产环境与开发环境

    我在使用 SpringBoot 1 5 1 时遇到问题 我已经创建了application properties and application dev properties对于我的开发环境 主要区别在于持久性 在生产中 applicati
  • GruntJS - grunt 构建后错误的图像路径

    Grunt 弄乱了我的缩小 CSS 我不知道为什么以及如何避免它 简而言之 在缩小之前我有一些像这样的背景图像 head image height 380px background url images head1 bg png repea
  • MYSQL排序与主义

    如本文所述question https stackoverflow com questions 41126279 doctrine orm order by annotations object fields并回答 不可能 我提出了一个新问