【发布时间】:2016-05-06 14:35:27
【问题描述】:
我有这两张桌子:
id | name
1 | Mike
2 | Jack
id | id_client | title | due_date | sort
1 | 1 | Xxxx | 2016-01-22 | 0
2 | 1 | Xxxx | 2016-01-24 | 1
3 | 2 | Xxxx | 2016-01-28 | 0
我需要按日期排序第一个,然后按排序排序第二个。我试过了,但不行:
->createQueryBuilder()
->select("a.*","b.*")
->from("table_a", "a")
->leftJoin("a", "table_b", "b", "a.id = b.id_client")
->addOrderBy('b.due_date', 'ASC')
->addOrderBy('b.sort', 'ASC')
有什么帮助吗?
【问题讨论】:
-
您的代码中的
due_date列名真的不正确,还是复制错误? -
您确定要使用
LEFT JOIN,如果您按要加入的表中的列进行排序吗?如果没有匹配,它应该使用什么日期? -
你确定你打电话给
leftJoin正确吗?我不使用 Doctrine,但我查看了一些示例,它们看起来不像那样。 -
是复制错误。该列是到期日期
-
具体是什么问题,“不工作”不够清楚。你有错误吗?您是否获得了正确的数据但顺序错误?
标签: mysql join doctrine sql-order-by doctrine-query