所以我想“修复”我的数组中的前三个结果,这是我从 be 中得到的,所以这是我的示例:
$ids = explode(',', '2,3,1');
$result = Items::whereIn('id', $ids)
->where('active', '1')
->get();
所以我希望它返回一个数组,其中 id 2 是第一个,然后是 2,然后是 1。id 的顺序每次都会不同,所以我不能做一些像按 id 排序等的事情。
最佳答案
FIELD 使用 Raw
$result = Items::whereIn('id', $ids)
->where('active', '1')
->orderByRaw('FIELD(id,$ids)')
->get();
关于php - Laravel - 首先从数据库中获取特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43111852/