微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel DataTables 不显示任何结果

如何解决Laravel DataTables 不显示任何结果

我按照本指南向我的管理部分中的所有合作伙伴显示https://yajrabox.com/docs/laravel-datatables/master/quick-starter

不幸的是,没有错误,但我也没有看到包含所有项目的列表。数据库中有结果,但对我来说,它似乎没有进行查询,这就是没有结果的原因(在调试栏中我没有看到带有“合作伙伴”表的查询)。

route.PHP

Route::get('partners',[PartnerController::class,'index'])->name('partners.index');

合作伙伴控制器:

namespace App\Domains\Partner\Http\Controllers\Backend;

use App\Domains\Partner\DataTable\PartnersDataTable;
use App\Domains\Partner\Models\Partner;
use App\Domains\Partner\Services\PartnerService;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class PartnerController extends Controller
{

    public function index(PartnersDataTable $dataTable)
    {
        return $dataTable->render('backend.partner.index');
    }
    
}

合作伙伴数据表:

namespace App\Domains\Partner\DataTable;

use App\Domains\Partner\Models\Partner;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\Editor\Editor;
use Yajra\DataTables\Html\Editor\Fields;
use Yajra\DataTables\Services\DataTable;

class PartnersDataTable extends DataTable
{
    /**
     * Build DataTable class.
     *
     * @param mixed $query Results from query() method.
     * @return \Yajra\DataTables\DataTableAbstract
     */
    public function dataTable($query)
    {
        return datatables()
            ->eloquent($query);
    }

    public function query(Partner $model)
    {
        return $model->newQuery();
    }

    /**
     * Optional method if you want to use html builder.
     *
     * @return \Yajra\DataTables\Html\Builder
     */
    public function html()
    {
        return $this->builder()
                    ->setTableId('partners-table')
                    ->columns($this->getColumns())
                    ->minifiedAjax()
                    ->dom('Bfrtip')
                    ->orderBy(1)
                    ->buttons(
                        Button::make('create'),Button::make('export'),Button::make('print'),Button::make('reset'),Button::make('reload')
                    );
    }

    /**
     * Get columns.
     *
     * @return array
     */
    protected function getColumns()
    {
        return [
            Column::make('id'),Column::make('title'),];
    }

    /**
     * Get filename for export.
     *
     * @return string
     */
    protected function filename()
    {
        return 'Users_' . date('YmdHis');
    }
}

index.blade.PHP:

@extends('backend.layouts.app')

@section('title',__('Partners'))

@section('breadcrumb-links')

@endsection

@section('content')

<x-backend.card>
    <x-slot name="header">
        @lang('Partners')
    </x-slot>

    @if ($logged_in_user->hasAllAccess())
        <x-slot name="headerActions">
            <x-utils.link
                icon="c-icon cil-plus"
                class="card-header-action"
                :href="route('admin.partners.create')"
                :text="__('Create partner')"
            />
        </x-slot>
    @endif

    <x-slot name="body">
        {!! $dataTable->table() !!}
    </x-slot>
</x-backend.card>
    
@endsection

@push('after-scripts')
<script src="{{ asset('vendor/datatables/buttons.server-side.js') }}"></script>
{{$dataTable->scripts()}}
@endpush

这是 $dataTable->scripts() 生成内容

<script src="http://kitty/vendor/datatables/buttons.server-side.js"></script>
<script type="text/javascript">$(function(){window.LaravelDataTables=window.LaravelDataTables||{};window.LaravelDataTables["partners-table"]=$("#partners-table").DataTable({"serverSide":true,"processing":true,"ajax":{"url":"http:\/\/kitty\/admin\/partners","type":"GET","data":function(data) {
            for (var i = 0,len = data.columns.length; i < len; i++) {
                if (!data.columns[i].search.value) delete data.columns[i].search;
                if (data.columns[i].searchable === true) delete data.columns[i].searchable;
                if (data.columns[i].orderable === true) delete data.columns[i].orderable;
                if (data.columns[i].data === data.columns[i].name) delete data.columns[i].name;
            }
            delete data.search.regex;}},"columns":[{"data":"id","name":"id","title":"Id","orderable":true,"searchable":true},{"data":"title","name":"title","title":"Title","searchable":true}],"dom":"Bfrtip","order":[[1,"desc"]],"buttons":[{"extend":"create"},{"extend":"export"},{"extend":"print"},{"extend":"reset"},{"extend":"reload"}]});});
</script>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。