未使用laravel v6.0,datatables v1.10.20和yajra / laravel-datatables-oracle v9.10填充的数据表

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

如上所述,我的数据表未使用上面主题行中提到的版本进行填充!

下面是我的一些代码以及代码片段。

oSupplierTable = $( "#supplier-table" ).dataTable({
			ajax: "{{ url( 'admin/supplier/get-suppliers' ) }}"
			,columns: [
				{
					data:   "supplier_id",
					render: function ( data, type, row ) {
						if ( type === 'display' ) {
							return "<input class=\"editor-active\" type=\"checkbox\" value=" + data + " />";
						}
						return data;
					},
					className: "dt-body-center"
				}
				,{ "class": "nowrap", "data": 'supplier_name', "targets": 2 }
				,{ "data": 'supplier_reference', "targets": 3 }
				,{ "data": 'department', "targets": 4 }
				,{ "data": 'contact_person', "targets": 5 }
				,{ "data": 'telephone_number', "targets": 6 }
				,{ "data": 'email', "targets": 7 }
				,{
					data:   "supplier_id",
					render: function ( data, type, row ) {
						if ( type === 'display' ) {
							return "<a onclick=\"open_supplier_dialog('" + data + "');\">Edit</a>&nbsp;<a onclick=\"delete_supplier('" + data + "');\">Delete</a>";
						}
						return data;
					},
					className: "dt-body-center"
				}
			]
			,fixedColumns:   {
				leftColumns: 1,
				rightColumns: 1
			}
			,"pagingType": "full_numbers"
			,processing: true
			,serverSide: true
			,scrollCollapse: true
			,scrollX: true
			,stateSave: true
		});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/v/dt/dt-1.10.20/datatables.min.js"></script>
<link href="https://cdn.datatables.net/v/dt/dt-1.10.20/datatables.min.css" rel="stylesheet"/>
<table class="dataTable" id="supplier-table">
		<thead>
            <tr>
                <th>Select</th>
                <th>Supplier&nbsp;Name</th>
                <th>Package&nbsp;Ref&nbsp;/&nbsp;Name</th>
                <th>Department</th>
                <th>Contact&nbsp;Person</th>
				<th>Telephone&nbsp;Number</th>
				<th>Email</th>
				<th>Action</th>
            </tr>
        </thead>
		<tfoot>
            <tr>
                <th>Select</th>
                <th>Supplier&nbsp;Name</th>
                <th>Package&nbsp;Ref&nbsp;/&nbsp;Name</th>
                <th>Department</th>
                <th>Contact&nbsp;Person</th>
				<th>Telephone&nbsp;Number</th>
				<th>Email</th>
				<th>Action</th>
            </tr>
        </tfoot>
	</table>

这是我的[[routes / web.php文件的摘要:

Route::get('admin/supplier/get-suppliers', 'Auth\SupplierController@getData');
这里是我的

控制器

的摘要:use App\Models\Supplier as supplier; use Yajra\Datatables\Datatables; class SupplierController extends Controller { public function getData() { return Datatables::of(Supplier::query())->make(true); } .... }
这里是我的

模型

的摘要:namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Http\Request; use Yajra\DataTables\DataTable; class Supplier extends Model { public static function getSupplier(Supplier $model) { return $model->all(); } .... }
查看下面的[[开发人员工具>网络>预览
时,正确返回了数据,如下所示:

> {draw: 1, recordsTotal: 1, recordsFiltered: 1,…} data: [{supplier_id: "1", supplier_name: "NOX Rentals", supplier_reference: "", department: "", …}] draw: 1 input: {draw: "1", columns: [{data: "supplier_id", name: null, searchable: "true", orderable: "true",…},…],…} queries: [{,…},…] recordsFiltered: 1 recordsTotal: 1

jquery datatables laravel-6 yajra-datatable laravel-views
1个回答
0
投票
我两次引用jQuery,一次是在<head>中,另一次是在</body>标记之前的底部,因此dataTable无法正确呈现。

下面是问题的代码段:

<head> <!-- Scripts --> <script src="{{ asset('js/app.js') }}" defer></script> ... </head> <body> .... <script src="{{ asset('js/jquery-3.2.1.min.js') }}"></script> ... </body>

这是解决方法:

<head>
    <!-- Scripts -->
    <!-- <script src="{{ asset('js/app.js') }}" defer></script> -->
    ...
</head>
<body>
    ....
    <script src="{{ asset('js/jquery-3.2.1.min.js') }}"></script>
</body>
© www.soinside.com 2019 - 2024. All rights reserved.