考虑到我有一些带有类别,子类别,年份,作者,喜欢的人的帖子,等等。>>
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 = B&LIKES> 100)OR(CATEGORY = B&YEAR = 2019 )那么结果将是ID 1,3,6,9,7所以按优先级排序的最终结果将是ID 3、6、1、9、7]],就像这样。对于以这种方式提出的问题,我深表歉意,但是任何帮助将不胜感激。谢谢。
考虑到我有一些带有类别,子类别,年份,作者,喜欢的帖子。ID |类别|子类别|年| AUTHOR_ID |赞1 | A | A1 ...
我正在考虑您有一个名为“ POST”的模型然后您的首要任务是:查询将是这样的:
Post::select('*')
->where([['category','B'],
'year',2019,
'likes','>',100])
->get()
->toArray();