У меня проблема с возвратом данных json и sort
их в laravel
, они просто появляются в случайном порядке.
Что я сделал до сих пор
Я пытался вернуть данные по их id
из базы данных и с помощью
JavaScript, как:
result.sort(function(a,b) {
return (a.id > b.id) ? 1 : ((b.id > a.id) ? -1 : 0);
});
Результат был случайным порядком (сортировка)
Я добавил столбец sort
в свою базу данных и попытался получить свою базу данных по предоставленным там номерам (результат был случайным порядком)
Я пытался добавить ->orderByRaw('set_specification.sort')
в свой код функции и получать заказы по нему (результат был случайным порядком)
Logic
- Я выбираю
set
Set
ребенок появится на лезвии в порядке sort
столбца, который я
укажите цифры в нем.
код
controller
public function selectset($id){
$selectsets = DB::table('sets')
->where('sets.id', '=', $id)
->join('set_specification', 'sets.id', '=', 'set_specification.set_id')
->join('specifications', 'set_specification.spec_id', '=', 'specifications.id')
->orderByRaw('set_specification.sort')
->get();
return response()->json($selectsets);
}
JavaScript
$(document).ready(function() {
$('select[name="selectset"]').on('change', function() {
var id = $(this).val();
if(id) {
$.ajax({
url: '{{ url('admin/selectset') }}/'+encodeURI(id),
type: "GET",
dataType: "json",
success:function(result) {
result.sort(function(a,b) {
return (a.id > b.id) ? 1 : ((b.id > a.id) ? -1 : 0);
});
console.log(result);
//rest of code..
}
Вопросы
Даже когда я возвращаю свои данные с помощью сортировки ajax (как вы видите в моем коде) в консоли, он возвращается правильно, но в блейде он выглядит так, как он хочет!
в случае, если изображение выше не будет работать здесь снова
Вопрос
- Как я могу исправить эту проблему сортировки?
Обновление
Я изменил свой код Ajax на:
result.sort(function(a,b) {
return (a.sort > b.sort) ? 1 : ((b.sort > a.sort) ? -1 : 0);
});
и результат тот же снимок экрана