jst*_*ios 12 php mysql sorting laravel eloquent
我正在尝试按列排序集合name
.我正在记录ajax结果,当我排序时,name
我得到:
Object: {0: Object, 1: Object, ...}
但当我按其他字段(locationId
)排序时,我得到:
[Object, Object, ...]
知道我做错了什么吗?我需要在数组中的结果,就像我排序时一样locationId
.
public function getLocations()
{
return \Location::all(['locationId', 'name'])->sortBy('name');
}
Run Code Online (Sandbox Code Playgroud)
pat*_*cus 24
按排序时locationId
,项目的键不会更改,因为项目已按此方式排序.例如,键将保留0,1,2等,这是有效的索引数组.
但是,当您按name
字段排序时,键将随其引用的项目移动.因此,您的键最终可能会像0,2,1等一样.由于此键的顺序不是有效的索引数组,因此将其视为关联数组,将其转换为json中的对象.
您只需要在排序后重新生成items数组.Collection有一个values()
方法可以做到这一点.
public function getLocations()
{
return \Location::all(['locationId', 'name'])->sortBy('name')->values();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2897 次 |
最近记录: |