Таблицы данных, не заполняемые с использованием laravel v6.0, таблицы данных v1.10.20 и yajra / laravel -datatables- oracle v9.10 - PullRequest
0 голосов
/ 28 апреля 2020

Как уже упоминалось выше, моя таблица данных не заполняется с использованием версий, упомянутых в строке темы выше!

Ниже приведены некоторые из моего кода, а также фрагмент кода.

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>

Вот фрагмент моего маршрутов / сети. php file:

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

1 Ответ

0 голосов
/ 29 апреля 2020

Я нашел свою проблему в проблеме, с которой я столкнулся!

Я дважды ссылался на 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...