gpt4 book ai didi

mysql - Laravel MySQL 如何按照与 whereIn 子句中相同的顺序对结果进行排序

转载 作者:可可西里 更新时间:2023-11-01 06:31:33 26 4
gpt4 key购买 nike

我有两个查询,第一个查询按特定顺序给我一个 ID 数组。然后我将 id 数组传递给第二个查询,如下所示:

 Operation::whereIn('id', $ids)->get();

但是当我输出该查询的结果时,顺序已经改变,如果数组 $ids 类似于 (4,2,6,9),这是我希望结果的顺序,输出将给我 2,4,6,9。我怎样才能避免这种情况?

最佳答案

MySQL 排序方式与 where in 子句相同:

$ids; // array of ids
$placeholders = implode(',',array_fill(0, count($ids), '?')); // string for the query

Operation::whereIn('id', $ids)
->orderByRaw("field(id,{$placeholders})", $ids)->get();

关于mysql - Laravel MySQL 如何按照与 whereIn 子句中相同的顺序对结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26176245/

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