使用Laravel通过Ajax更新Mongo DB

时间:2018-11-06 07:02:11

标签: jquery ajax mongodb laravel-5

我正在尝试通过ajax在mongo db中执行更新操作。我的数据通过下面的视图显示,我使用jquery sortable将数据从一列拖到另一列,一切正常,并且我还具有一个回调函数,该函数向我提供任务ID以及被拖动的列标题通过。

 <table id="sort1">
                    <thead >
                    <tr >

                        @foreach($tasks as $status => $task)
                        <td id="{{$status}}"><strong>{{$status}}</strong><br><br>
                       <table id="sort"  style="table-layout: fixed;width: 180px;">  
                        <tr ><td id="{{$status}}" style="table-layout: fixed; background-color: Cornsilk  ; ">Drop the task here</td> </tr>

                        </table>


                          @foreach($task as $key => $list)

                        <table id="sort"  style="table-layout: fixed;width: 180px;">  
                        <tr ><td id=""{{$list['_id']}} style="table-layout: fixed; background-color: Cornsilk  ; ">Summary:{{$list['summary']}}<br>Milestone ID:{{$list['projectID']}}<br>Assignee:{{$list['assignee']}}<br>Priority:{{$list['priority']}}<br><label  id="{{$list['_id']}}" style="display:none;">{{$list['_id']}}</label></td> </tr>

                        </table>

                         @endforeach

                        </td>

                        @endforeach
                    </tr>
                    </thead>

                </table> 


            </div>

        </div>
    </div>
</div>

jQuery / Javascript:

<script>


$( function() {
$("table #sort").sortable({
    tolerance: "intersect",
    connectWith: "table #sort",
    dropOnEmpty: "true"

}).disableSelection();
});

$( "table #sort" ).sortable({
 start: function(event, ui) {
        var line = ui.item.closest('td').text();
        var new_status = line.split('\n')[0];
        console.log(new_status);
  }
});


$ (function() {
$( "table #sort" ).sortable({
 receive: function(event, ui) {
        var line = ui.item.closest('td').text();
        var new_status = line.split('\n')[0];
        console.log(new_status);
        var objid = ui.item.find('label').html()
        console.log(objid);
}


});

});
</script>  

我对ajax几乎一无所知,但是现在我想通过ajax更新数据库,其中当我将给定任务从一个列(状态)拖到另一个列(状态)时,我基本上是在更新任务状态。我假设我必须在控制器中提供更新功能的网址,但无法理解如何继续使用它。真的很感谢关于此的任何建议。

1 个答案:

答案 0 :(得分:0)

请参阅laravel文档:https://laravel.com/docs/5.7/queries#updates,我使用了一个简单的update语句,该语句使用where子句,并将要更新的数据的ObjectId作为参数传递,并且能够执行更新操作。