我正在尝试通过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更新数据库,其中当我将给定任务从一个列(状态)拖到另一个列(状态)时,我基本上是在更新任务状态。我假设我必须在控制器中提供更新功能的网址,但无法理解如何继续使用它。真的很感谢关于此的任何建议。
答案 0 :(得分:0)
请参阅laravel文档:https://laravel.com/docs/5.7/queries#updates,我使用了一个简单的update语句,该语句使用where子句,并将要更新的数据的ObjectId作为参数传递,并且能够执行更新操作。