我试图在我的Laravel应用中显示一些数据,但出于某种原因,它无法正常显示。我正在使用这个包:https://github.com/yajra/laravel-datatables
<table class="table table-bordered table-striped" id="best-sold-table-sort">
<thead>
<tr>
<th>{{ trans('labels.backend.table.store.best_sold.product') }}</th>
<th>{{ trans('labels.backend.table.store.best_sold.revenue') }}</th>
<th>{{ trans('labels.backend.table.store.best_sold.sold') }}</th>
<th>{{ trans('labels.backend.table.store.best_sold.discount') }}</th>
<th>{{ trans('labels.backend.table.store.best_sold.price_excl') }}</th>
<th>{{ trans('labels.backend.table.store.best_sold.price_incl') }}</th>
<th>{{ trans('labels.backend.table.store.best_sold.margin') }}</th>
<th>{{ trans('labels.backend.table.store.best_sold.profit') }}</th>
<th>{{ trans('labels.backend.table.store.best_sold.roas') }}</th>
<th>{{ trans('labels.backend.table.store.best_sold.exclude_reason') }}</th>
</tr>
</thead>
<tbody class="show-when-sibling-is-empty">
<tr>
<td colspan="10"><em>{{ trans('strings.backend.stores.tables.no_products') }}</em></td>
</tr>
</tbody>
</table>
这是正在填写的表格。
let type = 'salable';
let channel = 'general';
date = '1 January 2017 - 31 December 2017';
let table = $('#best-sold-table-sort').DataTable({
'processing': true,
'serverSide': true,
'ajax': '{!! route('admin.ajax.dashboard.best_sold.get') !!}/' + type + '/' + channel + '/' + date,
'responsive': true,
'paging': false,
'lengthChange': false,
'searching': false,
'ordering': true,
'info': false,
'autoWidth': false,
'columns': [
{data: 'title', name: 'title'},
{data: 'revenue', name: 'revenue'},
{data: 'stock_sold', name: 'stock_sold'},
{data: 'discount', name: 'discount'},
{data: 'price_excl', name: 'price_excl'},
{data: 'price_incl', name: 'price_incl'},
{data: 'margin', name: 'margin'},
{data: 'profit', name: 'profit'},
{data: 'roas_target', name: 'roas_target'},
{data: 'exclude_reason', name: 'exclude_reason'},
],
});
这是我的剧本。
public function getBestSoldData(Request $request) {
return Datatables::of(\DB::table('aggregated_to_best_sold'))->make(true);
}
这是ajax路由调用的功能。
Route::get('dashboard/get/bestSoldTable/{type?}/{channel?}/{date?}', 'Ajax\DashboardController@getBestSoldData')
->name('dashboard.best_sold.get');
这是我的路线档案。
https://imgur.com/IeoWRjU这是我通过ajax调用得到的响应的一部分。我检查了JSON是否有效。 我认为这与DataTables的绘制功能有关。根据我的理解,它应该显示表中重绘的行数,在我的json响应中,它是1或0。
我希望有人能够帮助我们深究这一点。
答案 0 :(得分:0)
我想在(\ DB :: table('aggregated_to_best_sold')之后你想念这个“)”。
尝试这个。
public function getBestSoldData(Request $request) {
return Datatables::of(\DB::table('aggregated_to_best_sold')
->make(true);
}