gpt4 book ai didi

php - 类似于 DB FIELD 的 Laravel 集合顺序

转载 作者:搜寻专家 更新时间:2023-10-31 21:21:26 25 4
gpt4 key购买 nike

我有一个查询,顺序如下

$query->orderByRaw("FIELD(type, 'red', 'green', 'aqua') ASC");

这将不按字母顺序排列项目,而是按值(value)排序。

有没有办法在 Laravel 集合中做同样的事情?

喜欢:

$collection = collect(`Items from DB`);

$final = $collection->sortBy(function($item){
return $item->color == 'red'
});

最佳答案

找到解决方案:

$collection = collect(`Items from DB`);

$final = $collection->sortBy(function($model){
return array_search($model->color, ['red', 'green', 'aqua']);
});

array_search返回项目位置(键),因此如果模型颜色为 red,则键为 0,依此类推。这将订购它。

如果有其他解决方案(可能更快)请发布,谢谢。

关于php - 类似于 DB FIELD 的 Laravel 集合顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47049954/

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