Laravel Eloquent中的多级条件查询

问题描述 投票:0回答:1

考虑到我有一些带有类别,子类别,年份,作者,喜欢的人的帖子,等等。>>

ID      | CATEGORY      | SUBCATEGORY      | YEAR      | AUTHOR_ID      | LIKES
1       | A             | A1               | 2019      | 5              | 155
2       | A             | A5               | 2018      | 7              | 127
3       | B             | B1               | 2019      | 9              | 186
4       | D             | D3               | 2018      | 5              | 409
5       | C             | C2               | 2019      | 3              | 12
6       | B             | B1               | 2019      | 1              | 252
7       | B             | B4               | 2017      | 2              | 856
8       | C             | C1               | 2019      | 8              | 56
9       | A             | A2               | 2019      | 6              | 378

并且在搜索结果中,我需要将具有精确参数的结果作为第一优先级。

例如:如果我的搜索参数是类别= B,年份= 2019,Likes> 100

结果将是ID 3,6

但在第二优先级中,我需要使用类似(LIKES> 100

YEAR = 2019)或(CATEGORY = BLIKES> 100)OR(CATEGORY = BYEAR = 2019 )那么结果将是ID 1,3,6,9,7

所以按优先级排序的最终结果将是ID 3、6、1、9、7]],就像这样。对于以这种方式提出的问题,我深表歉意,但是任何帮助将不胜感激。谢谢。

考虑到我有一些带有类别,子类别,年份,作者,喜欢的帖子。ID |类别|子类别|年| AUTHOR_ID |赞1 | A | A1 ...

mysql database laravel eloquent laravel-6
1个回答
0
投票

我正在考虑您有一个名为“ POST”的模型然后您的首要任务是:查询将是这样的:

Post::select('*')
      ->where([['category','B'],
                'year',2019,
                'likes','>',100])
      ->get()
      ->toArray();
© www.soinside.com 2019 - 2024. All rights reserved.