【发布时间】:2018-06-09 21:43:01
【问题描述】:
我有一个复杂的问题,我有一个包含数据的表,因为我正在使用数据表,表 Checks 与其他表 Vendors 有关系 我想要的只是单击单元格 vendor_id 使其可编辑并使用自动完成功能来填充或编辑当前数据。 我希望表格可以像这个例子一样编辑 https://editor.datatables.net/examples/inline-editing/simple
检查表:
详情 说明
vendor_id
供应商表:
vendor_id
供应商名称
现在供应商的名称出现在数据表中,但不知道为什么它的括号内和“” [{"vendor_name":"Raul"}] 所以我只想显示 vendor_name 并使用自动完成对其进行编辑,并通过存储 vendor_id 而不是供应商名称将其存储在检查表中
阿贾克斯
var oTable = $('#users-table').DataTable({
dom: 'flBrtip',
stateSave: true,
paging: true,
pagingType: 'simple_numbers',
processing: true,
serverSide: true,
ajax: {
url: 'custom-filter-data',
data: function(d) {
d.start_date = $('input[name=start_date]').val();
d.end_date = $('input[name=end_date]').val();
}
},
columns : [
{data: 'details', name: 'details'},
{data: 'description', name: 'description'},
{data: 'vendor_id',name:'vendor_id'},
{data: 'category_id',name: 'category_id'},
],
pageLength: 10,
});
oTable.draw();
控制器
public function getCustomFilterData()
{
$arrStart = explode("/", Input::get('start_date'));
$arrEnd = explode("/", Input::get('end_date'));
$start = Carbon::create($arrStart[2], $arrStart[0], $arrStart[1], 0, 0, 0);
$end = Carbon::create($arrEnd[2], $arrEnd[0], $arrEnd[1], 23, 59, 59);
$orders = Checks::between($start, $end);
return Datatables::of($orders)->editColumn('vendor_id', function ($user)
{
$vendor =Vendors::select('vendor_name')->where('vendor_id',$user->vendor_id)->get();
return ( $vendor);
}) ->make( TRUE );
}
【问题讨论】:
-
不应该是
whereBetween()而不是between()吗? -
不,日期工作正常,之间没有问题,但我询问如何使数据表可编辑并且单元格具有自动完成功能
标签: php laravel datatable autocomplete