gpt4 book ai didi

php - 如何防止 whereRaw 自动对我的集合进行排序?

转载 作者:行者123 更新时间:2023-11-29 09:30:00 27 4
gpt4 key购买 nike

我有一个 id 列表,它们是排序后集合的 id,例如:

$orderedIds = "2,18,4,1,17,5,6,16,15,14,13,11,12,10,9,8,7,3"

我想用 whereRaw 来挑选它们,如下所示:

$result = Collection::whereRaw("FIELD(id, ".$orderedIds." )");

但结果会自动按 id 排序,这意味着集合输出实际上是原始集合:

[
{
"id": 1,
...
}, {
"id": 2,
...
}, {
"id": 3,
...
}
]

whereRaw 的任何选项,或者任何其他方式让我实现排序的集合吗?

最佳答案

试试这个

 Collection::whereIn('id',$orderedId)->orderByRaw(DB::raw("FIELD(id, $orderedId)"))->get();

关于php - 如何防止 whereRaw 自动对我的集合进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58913141/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com