我想在多个列上使用orderBY语句,但是它们应该像一个单独的列一样起作用。表格看起来像这样:
col1 | col2
5 |
2 |
| 3
7 |
| 1
| 1
结果应该看起来像这样:
col1 | col2
| 1
| 1
2 |
| 3
5 |
7 |
如果我们使用原始SQL,会有像使用
COALESCE
这样的方法。但是在Doctrine QueryBuilder中如何实现呢?
编辑:
我尝试像这样使用orderBy:
qb->orderBy("COALESCE(col1, col2)", "DESC");
And like this
qb->add("orderBy", "COALESCE(col1, col2) DESC");
但两次都遇到了以下错误:
[Syntax Error] line 0, col 700: Error: Expected end of string, got '('