首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能按原则中的条件排序结果?

问我怎样才能按原则中的条件排序结果?
EN

Stack Overflow用户
提问于 2015-11-01 23:24:42
回答 1查看 77关注 0票数 1

如何使用对结果排序,以便匹配第一个条件的结果先排序,然后再排序第二个条件的结果(所有结果都应该匹配第三个条件)?

下面是查询的一个示例:

代码语言:javascript
复制
$QB->select('k', 'k.word')
        ->from($repository, 'k')
        ->where('k.word LIKE :strict')
        ->orWhere('k.word LIKE '.':loose')       
        ->andWhere('k.status=1')
        ->setMaxResults(5)
        ->setParameter('strict', $query.'%')
        ->setParameter('loose', '%'.$query.'%');

我试着玩orderBy(),但它没有成功-不知道什么语法可能是.

Upd.数据和结果示例列表:假设我有一个数据列表:

  • 文字:汽车,状态:1
  • 文字:洗车,状态:1
  • 文字:电动汽车,状态:1
  • 文字:制图,现状:1
  • 文字:Cabriolet,现状:

搜索查询是"ca"。

我希望查询先排序并显示这些结果:

  • 文字:汽车,状态:1
  • 文字:洗车,状态:1
  • 文字:制图,现状:1

那么这个结果是:

  • 文字:电动汽车,状态:1

并过滤掉这个,因为状态是

  • 文字:Cabriolet,现状:
EN

回答 1

Stack Overflow用户

发布于 2015-11-02 16:26:20

你试过这个吗?

代码语言:javascript
复制
$QB->select('k', 'k.word')
        ->from($repository, 'k')
        ->where('k.word LIKE :strict')
        ->orWhere('k.word LIKE '.':loose')       
        ->andWhere('k.status=1')
        ->setMaxResults(5)
        ->setParameter('strict', $query.'%')
        ->setParameter('loose', '%'.$query.'%')
        ->orderBy('k.word', 'ASC');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33468410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档