在数据表中提取并显示其他数据

时间:2019-09-23 13:48:17

标签: javascript php jquery laravel

我正在使用Laravel 5.8构建Web应用程序。我已经开始深入研究使用JQuery,这真是太神奇了。但是,我找不到我的问题的答案。希望有人能帮忙。

我有一个名为“角色”的视图,它负责显示系统上基于安全性的角色的列表。在该视图上,我有一个数据表,其中显示该角色列表,创建日期等。该数据表上有一列“权限”。以前,我会在该位置放置分配给该角色的权限列表。如果您看一下我以前的代码,我就能实现。我无法用Jquery弄清楚。

上一个查看代码:

@foreach ($roles as $role)
                    <tr>

                        <td>{{ $role->name }}</td>
                        <td>
                            @if($role->name === "superadmin")
                                <span class="badge badge-primary">All Permissions</span>
                            @else
                                @foreach($role->permissions()->pluck('permission_name') as $permission)
                                    <span class="badge badge-primary">{{ $permission }}</span>
                        @endforeach
                        @endif

                        <td nowrap>@if($role->name != "superadmin")<span class="dropdown">
                            <a href="#" class="btn btn-sm btn-clean btn-icon btn-icon-md" data-toggle="dropdown" aria-expanded="true">
                              <i class="la la-ellipsis-h"></i>
                            </a>

                            <div class="dropdown-menu dropdown-menu-right">
                                <a class="dropdown-item" href="{{ route('admin.security.roles.edit',$role->id) }}"><i class="la la-edit"></i> Edit Role</a>
                                <a class="dropdown-item" href="javascript:delete_role('{{ $role->id }}');"><i class="la la-remove"></i> Delete Role</a>
                            </div>
                        </span>
                        @endif
                    </tr>
                @endforeach

以前的控制器代码:

    public function index()
    {
        $roles = Role::all();
        return view('backend.auth.roles.index')->with('roles', $roles);
    }

当前的php代码:

    public function index()
    {
        $permission = Permission::get();
        if(request()->ajax()) {
            return datatables()->of(Role::all())
                ->addColumn('actions', 'layouts._partials.backend._crud-default')
                ->rawColumns(['actions', 'permissions'])
                ->addIndexColumn()
                ->make(true);
        }
        return view('site.backend.auth.roles.index', compact('permission'));
    }

当前查看代码:

<!--begin: Datatable -->
            <table class="table table-striped- table-bordered table-hover table-checkable" id="roles_table">
                <thead>
                <tr>
                    <th>Name</th>
                    <th>Permissions</th>
                    <th>Created</th>
                    <th>Updated</th>
                    <th>Actions</th>
                </tr>
                </thead>
            </table>
            <!--end: Datatable -->

当前的javascript代码:

        $(document).ready( function () {
            $.ajaxSetup({
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                }
            });

            $('#roles_table').DataTable({
                processing: true,
                serverSide: true,
                ajax: {
                    url: "{{ route('admin.security.roles.index') }}",
                    type: 'GET',
                },
                columns: [
                    {data: 'name'},
                    {data: 'permissions'},
                    {data: 'created_at'},
                    {data: 'updated_at'},
                    {data: 'actions', name: 'action', orderable: false},
                ],
                order: [[0, 'name']],
            });
});

错误消息显示的很明显,并且不存在$ role和$ permission变量。

0 个答案:

没有答案