symfony2主义选择IFNULL

2024-02-22

好的,我有这个代码:

SELECT 
IFNULL(s2.id,s1.id) AS effectiveID, 
IFNULL(s2.status, s1.status) AS effectiveStatus, 
IFNULL(s2.user_id, s1.user_id) as effectiveUser,
IFNULL(s2.likes_count, s1.likes_count) as effectiveLikesCount

FROM statuses AS s1
LEFT JOIN statuses AS s2 ON s2.id = s1.shared_from_id
WHERE s1.user_id = 4310
ORDER BY effectiveID DESC
LIMIT 15

我需要将其重写为查询生成器。类似的事情?

        $fields = array('IFNULL(s2.id,s1.id) AS effectiveID','IFNULL(s2.status, s1.status) AS effectiveStatus', 'IFNULL(s2.user_id, s1.user_id) as effectiveUser','IFNULL(s2.likes_count, s1.likes_count) as effectiveLikesCount');

    $qb=$this->_em->createQueryBuilder()
             ->select($fields)
             ->from('WallBundle:Status','s1')
             ->addSelect('u')
             ->where('s1.user = :user')
             ->andWhere('s1.admin_status = false')
             ->andWhere('s1.typ_statusu != :group')
             ->setParameter('user', $user)
             ->setParameter('group', 'group')
             ->leftJoin('WallBundle:Status','s2', 'WITH', 's2.id=s1.shared_from_id')  
             ->innerJoin('s1.user', 'u')               
             ->orderBy('s1.time', 'DESC')
             ->setMaxResults(15);

     var_dump($query=$qb->getQuery()->getResult());die();

这个错误是

[Syntax Error] line 0, col 7: Error: Expected known function, got 'IFNULL'

Use COALESCE而不是这样的 IFNULL

$fields = array('COALESCE(s2.id,s1.id) AS effectiveID','COALESCE(s2.status, s1.status) AS effectiveStatus', 'COALESCE(s2.user_id, s1.user_id) as effectiveUser','COALESCE(s2.likes_count, s1.likes_count) as effectiveLikesCount');

COALESCE 返回列表中第一个不为空的值,因此如果 A 为 null 并且 B 不为 null,则COALESCE(A,B)将返回 B。

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

symfony2主义选择IFNULL 的相关文章

  • 将自定义 DQL 函数与 Doctrine 和 Symfony2 一起使用时出错

    我使用 Symfony 2 和 ORM Doctrine 我想创建并注册自定义 DQL 函数 其实我想用SQL函数 CAST http dev mysql com doc refman 5 5 en cast functions html
  • 如何在 symfony 5 中将所有 Http 异常格式化为 json?

    在 symfony5 控制器中 我可以通过以下方式返回 json 响应 return this gt json key gt content 然而 当我抛出 HttpException 时 我会在开发和生产中看到默认的 html 错误页面
  • Symfony ArrayCollection 与 PersistentCollection

    据我了解 当您通过存储库查询数据库时 您会得到 PersistentCollection 而当您使用实体时 您会得到 ArrayCollection 因此 考虑到我的用户实体有一对多的自引用关系 在我的用户实体中 我有一个 setChild
  • 如何在没有 --prefer-source 的情况下使用 Composer 克隆存储库? (使用 Symfony 2)

    场景 我正在使用 Symfony 2 2 在我的所需包列表中也是我的 github 存储库之一 我们将其称为 TestLib 我知道我可以将 github url 定义为 Symfony 的composer json 中的附加存储库 以通过
  • 您能否推荐一个 JQuery 插件来组成一组可映射到 SQL 查询的条件? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我发现了http redquerybuilder appspot com http redquerybu
  • Docker 应用程序更新后无法连接到数据库

    在我的公司 我有一个旧的 Symfony 应用程序在 Docker 容器中运行 该应用程序连接到一个 SQL 数据库 该数据库也在 Docker 容器内运行 该图像是使用 php 7 2 apache stretch 构建的 但该版本已不再
  • 如何禁用 Symfony 2 分析器栏?

    它没有添加任何内容 而且使页面变慢 我希望它消失 别问 网站上几乎没有关于探查器的信息 应用程序配置中也没有任何内容 这个设置是在app config config dev yml web profiler toolbar true int
  • Doctrine2 / Symfony2 - 同一张表上的多个实体

    在 Symfony2 应用程序中我有一个主包以及可以启用或不启用的不同捆绑包 在里面主包我需要有Model和一个基本的Entity In an 其他捆绑包 an Entity具有相同的表名Entity in 主包 MainBundle 中的
  • 学说和大量数据

    我有一个返回约 50k 行的查询 似乎学说将整个结果放入内存中超出了内存限制 128M 我发现节省一些内存的唯一解决方案是 result gt execute array Doctrine Core HYDRATE NONE 但还是超出了极
  • Laravel - 带有 join 和 concat 的查询生成器

    我试图从用户表中提取与 users groups 数据透视表中某个组匹配的所有用户 顺便说一句 我使用的是来自 Cartalyst 的 Sentry 2 这可以让所有用户的名字和姓氏连接起来 User select DB raw CONCA
  • Symfony 不会从集合中删除实体

    我知道一般来说有很多关于这个主题的帖子 不幸的是 这些大多涉及对数据库的实际持久操作 就我而言 我在持久操作之前发生了一个问题 我有一个带有实体 学说 持久性集合的表单 您可以通过 javascript 从 DOM 中删除 对象 提交后 当
  • 推进并离开加入

    在教义中我可以 q Doctrine Query create gt from One o gt where t text aaa gt andWhere h text bbb gt leftJoin o Two t gt leftJoin
  • Symfony 3.4 没有元数据类来处理错误

    我已经安装了 symfony 3 4 和 学说包 php gt 5 5 9 doctrine doctrine bundle 1 8 doctrine doctrine migrations bundle 1 3 doctrine orm
  • Select2 基本示例不起作用

    我想得到select2使用 symfony2 脚本的库 我正在尝试实现提供的基本示例https select2 github io examples html https select2 github io examples html pa
  • 不需要 UserProvider 的自定义身份验证

    我在网上寻找适合我的配置的解决方案 但找不到满足我需求的东西 到目前为止 我已经为此工作了整整三天 但我无法使其正常工作 我确信有几件事我不明白 我正在分支 2 1 上开发我的 symfony 应用程序 为了让这个简短 我有一个网络服务 我
  • Symfony 3.0 - 无法加载资源“。” - 自定义路线加载器

    我正在努力将我的一个项目升级到 SF 3 该项目使用了一些自定义路由加载器 这些加载器之前工作没有问题 现在我得到了FileLoaderLoadException指出resource 无法加载 我看了一下文档 http symfony co
  • 如何通过 SyliusResourceBundle 使用 Sylius 创建新模型

    我找到并成功使用了有关如何覆盖 Sylius 中现有模型的文档 但我无法利用 SyliusResourceBundle 创建一个全新的模型 我猜如果你已经了解 Symfony2 的话这很容易吗 我仍在学习 所以这就是我所拥有的 我缺少什么
  • 如何翻译 Sonata Admin Bundle 中的标签

    我正在使用 Symfony 2 3 和 Sonata Admin Bundle 我知道我可以用这种方式翻译标签 gt add shortDescription null array label gt shortDescriptionTran
  • 如何使用来自数据库的值来定义 Twig 模板的全局变量?

    我想为 twig 定义一个全局变量 可以从任何模板访问它 我可以在 symfony 中创建一个全局变量config packages twig yaml 但我需要它是从数据库获取的值 在 twig 的文档中 它说使用此代码 twig new
  • Symfony 4.1 组件 - 依赖注入问题

    我正在用 PHP 重构旧应用程序 我正在尝试使用 Symfony 依赖注入组件将服务注入控制器 或其他服务 但我不知道如何实现这一点 因为 symphony 文档比框架组件更适合使用框架 我已经有了自己的内核 包含所有服务和控制器的容器 控

随机推荐

  • 带 && 的 C if 语句 - 哪个函数将首先执行?

    如果我在 C 中有一个 if 语句 如下所示 if function1 gt 0 function2 gt 0 blah 哪个函数将首先执行并且总是按该顺序执行 Here function1 is 保证首先执行 The 运算符是一个短路运算
  • 向量的一维卷积

    我正在学习如何使用具有一维卷积的卷积神经网络 这是一个家庭作业示例 import numpy as np import keras from keras models import Sequential from keras layers
  • 为什么 parseInt(1/0, 19) 返回 18?

    我有一个恼人的问题JavaScript gt parseInt 1 0 19 gt 18 为什么parseInt函数返回18 的结果1 0 is Infinity https developer mozilla org en US docs
  • 如何在 SSIS 中设置 zip 文件的密码?

    我使用 SSIS 中的执行进程任务通过 7 zip 压缩了文件 现在我必须为 zip 文件设置密码 我该如何实现 我不认为这是一个 ssis 问题 你必须看看7zip 命令行用户指南 https sevenzip osdn jp chm c
  • 我如何告诉 Struts2 在表单第一次显示时不要验证表单?

    我目前正在尝试学习Struts2 我创建了一个表单 一个处理表单的操作 一个验证表单的 XML 以及 struts xml 中的操作 每次显示表单时 即使是第一次 Struts2 都会尝试进行验证 因此在用户有机会完成表单之前就会显示错误
  • Chai 无法识别内容类型“application/javascript”

    无论我的服务器实际返回什么 Chai 总是给我res body 如果内容类型是 application javascript 这是我的服务器 const http require http const server http createS
  • 在 Go 中将 unicode 代码点转换为文字字符

    假设我有一个这样的文本文件 u0053 u0075 u006E 有什么方法可以将其转换为这个吗 S u n 目前 我正在使用ioutil ReadFile data txt 但是当我打印数据时 我得到的是 unicode 代码点而不是字符串
  • WSO2 身份服务器外部 LDAP 因 OID 身份人员不存在而抛出 OBJECT_CLASS

    我正在使用 Identity Server 4 1 0 并且还在 Apache Directory Studio 中运行 ApacheDS 所以我现在想要的是将我的 IS 连接到外部 LDAP IS 与 ldap 的连接良好 只是由于缺少属
  • 多个事件的 Gmail 标记

    我正在使用 json ld 开发事件标记 以包含在确认电子邮件中 我的一些事件会定期重复发生 但是 最新的 Schema org 规范不支持重复事件 因此我遵循了此处提供的建议 http lists w3 org Archives Publ
  • ORACLE/ASP.NET:ORA-2020 - 数据库链接太多......是什么原因造成的?

    这是场景 我们有一个运行最新版本 ODAC Oracle 客户端 的内部网站 它打开数据库连接 运行存储过程或打包方法 然后断开连接 连接池已打开 目前我们的开发和测试环境均处于 11g 版本 但生产环境处于 10gR2 版本 这种情况发生
  • 从 IE 中 HtmlElement 的 Dom 获取 IHTMLStyle3

    我在窗体上有一个 System Windows Form WebBrowser 控件 我将该浏览器对象导航到一个网址 页面加载完成后 我想分析加载的页面的各个方面 我特别感兴趣的是在 IHTMLStyle3 接口上找到的属性 writing
  • Selenium WebDriver C# 使用 ChromeDriver 和 FirefoxDriver 的完整网站屏幕截图

    当我使用 ChromeDriver 截取屏幕截图时 我会得到与我的视口大小相同的屏幕 当我使用 FirefoxDriver 截取屏幕截图时 我得到了我想要的 即网站的全屏打印 ChromeDriver 声明如下 IWebDriver dri
  • 如何将 .NET Compact Framework 添加到智能设备 CAB 项目中?

    我正在开发一个 VS2008 智能设备应用程序 其中包含用于部署的智能设备 CAB 项目 我惊讶地发现此安装程序项目在必要时不会安装 NET Compact Framework 可以这样做吗 这可以通过一些工作来完成 看自动将多个 CAB
  • 如何使用 jquery 清除文本区域

    这个问题已经得到解答 但为了将来的参考 这里有一个完整的例子 您可以根据需要多次单击 添加 按钮和 清除 按钮 它就会起作用 但是 一旦您在文本框中输入内容 清除和添加按钮就不起作用
  • 正确使用电子

    我想进入 Electron 并且我已经开始学习它 但是我认为我不太明白应该如何使用它 根据我收集的信息 使用 Electron 我能够创建跨桌面应用程序 铬 with HTML CSS 和 JavaScript并在后台执行任务 NodeJS
  • 返回 void* 的 C++/C 函数指针

    我正在尝试调用一个带有参数的函数 void void int const char 但我不知道如何将这些参数传递给函数 Example void ptr int int function int int void int 我试图像这样调用该
  • 如何在 CodeIgniter 中检查请求是否是通过 AJAX 发出的?

    如何检查请求是否是 AJAX 我正在使用 CodeIgniter 我有一个链接 当它单击时 它将打开弹出对话框窗口 这是通过 ajax 请求控制器名称来完成的login window 代码点火器 Here is the controller
  • pip 未能为 scipy 构建轮子

    我刚刚下载了新的python 3 8我正在尝试安装scipy使用以下内容进行封装 pip3 8 install scipy 但是构建失败并出现以下错误 Failed to build scipy ERROR Could not build
  • 如何重构这个?

    我试图重构这个 class AClass string Property1 get set string Property2 get set string Property3 get set void AMethod AClass othe
  • symfony2主义选择IFNULL

    好的 我有这个代码 SELECT IFNULL s2 id s1 id AS effectiveID IFNULL s2 status s1 status AS effectiveStatus IFNULL s2 user id s1 us