我的代码不会在我的数据库中保存不同的页面

问题描述 投票:0回答:1

JS:

$('#sortable').sortable({


        stop: function(event, ui) {

            saveContentOrder();
        }
    });
    function saveContentOrder()
    {

        const idsInOrder = $("#sortable").sortable("toArray");


        var data = {
            idsInOrder:idsInOrder
        };

        $.ajax({
            type: "POST",
            url:  "/xxx/yyy/zzz",
            data: data
        }).done( function() {

        }).fail(function() {

        });

    }

index.blade.php:

<tbody  id="sortable" >
                    @foreach ($references as $index => $reference)

                        <tr id="reference_id_{{$reference->id}}">
                                <td width="65%">
                                    <a href="{{ route('admin.reference.edit', $reference->id ) }}"><b>{{ $reference->title }}</b>
                                    </a><br>
                                </td>
                                <td>
                                    @if(!count($reference->images))<span style="color:#ff0000;font-weight:700;">0</span>@else{{ count($reference->images) }}@endif
                                </td>
                                <td>
                                    {{ $reference->priority }}

我的网络路由:

Route::post('/xxx/yyy/zzz', 'AdminReferenceController@reorder');

我的控制器:

public function reorder(Request $request)
    {
        $order = $request->get('idsInOrder',[]);
        if (is_array($order))
        {
            foreach($order as $position => $idName)
            {
                $id = str_replace("reference_id_","",$idName);
                $gesamt = Reference::all()->count();
                $c = \App\Reference::find($id);
                if($c)
                {
                    $c->priority = $gesamt-$position;
                    $c->save();
                }
            }
        }

当我在我的第一页时,它保存我拖放的位置和优先级更改。但是当我转到第二页例如拖放订单时,它给出了与第1页相同的优先级。这意味着它显示首先想的应该是20或30日。我基本上希望它始终处于正确的顺序。我有一个节目10,显示30,并显示100.当我举例来到节目30,我没有页面,因为我没有这么多的条目现在它的工作没有问题。但是当我去展示10并获得3页时,优先级就会变得混乱。我怎样才能解决这个问题

laravel pagination backend laravel-5.7
1个回答
0
投票
this is js File:

$('#sortable').sortable({
    update: function(event, ui) {
        saveContentOrder();
    }
});
function saveContentOrder()
{ 
  const idsInOrder = $(this).sortable("serialize");
  var data = {
        idsInOrder:idsInOrder
    };

    $.ajax({
        type: "POST",
        url:  "/xxx/yyy/zzz",
        data: data
    }).done( function() {

    }).fail(function() {

    });
}


this is controller file

public function reorder(Request $oRequest)
{  
   //$oRequest->idsInOrder get all orders positiion ids.affter drag 
    data like,
//orders[]=6&orders[]=5&orders[]=3&orders[]=4&orders[]=2&orders[]=1
  parse_str($oRequest->idsInOrder);
    $nCount = 1;
    foreach($orders as $order)
    {
      // update database order
        $nCount++;
    }
    return Response::json(['success' => true]);
}
© www.soinside.com 2019 - 2024. All rights reserved.