当我想在MySQL查询中定义自定义排序顺序时,我可以这样做:
ORDER BY FIELD(language,'USD','EUR','JPN')
Run Code Online (Sandbox Code Playgroud)
那个雄辩的ORM版本是什么?
更新:
这是解决方案,它也适用于各种领域的订购:
$events = Event::with( 'type', 'location' )
->orderBy( 'event_type_id' )
->orderByRaw( "FIELD(status, 'good', 'bad', 'hidden', 'active', 'cancelled')" )
->orderBy( 'date' );
Run Code Online (Sandbox Code Playgroud) 是否可以使用单独的ID数组来订购关系集合,同时仍然通过关系访问?
设置Checklist有很多ChecklistItems,我以正常的方式访问这种关系:
foreach ($list->items as $item) {
// More Code Here
}
Run Code Online (Sandbox Code Playgroud)
现在,$item作为属性$list下属性的存在的期望顺序$list->item_order,它只是$item用户所需顺序中的ID 数组,特定于$list被迭代.
是否有一种可行的方法来根据模型所具有的数组来定位$items附加的?$listitem_order$list
(我不能只在'item'表中添加'order'列,b/c顺序根据特定的'list'关系进行更改).
谢谢你的帮助!
我有一系列产品ID,我需要检索模型集合.数组是这样的:
$ids = array(9, 2, 16, 11, 8, 1, 18);
Run Code Online (Sandbox Code Playgroud)
现在,我正在使用以下代码行来获取集合.
$products = Product::whereIn('id', $ids)->get();
Run Code Online (Sandbox Code Playgroud)
但它根据他们的ID对产品进行了分类.如:1, 2, 8, 9, 11, 16, 18.我需要的是与$ids数组中相同的顺序即9, 2, 16, 11, 8, 1, 18.
我该怎么做以获得与数组中相同的顺序?