数据表 - 未显示服务器端数据

时间:2016-03-08 09:00:09

标签: php jquery laravel datatable laravel-5

我第一次使用datatableLaravel 5所以我尝试使用此代码,我获取了ajax的数据,但无法在datatable上显示数据。

任何想法如何将响应数据加载到数据表。

这是我的结构:

结果:

enter image description here

路线:

Route::get('admin/pages/datatable', 'admin\PagesController@getDataTable'); // Pages (Static Pages)

pages.blade.php:

<section class="content">
    <div class="row">
        <div class="col-xs-12">
            <div class="box">
                <div class="box-header">
                    <h3 class="box-title">Pages Table</h3>
                </div><!-- /.box-header -->
                <div class="box-body">
                    <table id="example32" class="table table-bordered table-hover">
                        <thead>
                            <tr>
                                <th>PageId</th>
                                <th>Title</th>
                                <th>Text</th>
                                <th>MetaKeywords</th>
                                <th>MetaDescription</th>
                                <th>PostedBy</th>
                            </tr>
                        </thead>
                        <tfoot>
                            <tr>
                                <th>PageId</th>
                                <th>Title</th>
                                <th>Text</th>
                                <th>MetaKeywords</th>
                                <th>MetaDescription</th>
                                <th>PostedBy</th>
                            </tr>
                        </tfoot>
                    </table>
                </div><!-- /.box-body -->
            </div><!-- /.box -->
        </div><!-- /.col -->
    </div><!-- /.row -->
</section><!-- /.content -->

PagesController.php:

public function getDataTable()
{
    $Pages = new Pages();
    return $GetAllPages = $Pages->GetPages();
}

Pages.php:

public function GetPages()
{
    return DB::table('pages')->select('PageId', 'Title', 'Text', 'MetaKeywords', 'MetaDescription', 'PostedBy')
            ->get();
}

1 个答案:

答案 0 :(得分:0)

您必须传递索引数组而不是关联数组。您的回答应该是

{['pageid', 'Title', 'Text', ... ]}

只需按照正确的列顺序。

可能是你可以使用,

public function GetPages()
{
     $pages = DB::table('pages')->select('PageId', 'Title', 'Text', 'MetaKeywords', 'MetaDescription', 'PostedBy')->get();
     $pages = $pages->map(function($item){
         return [$item->PageId, $item->Title,$item->Text,$item->MetaKeywords,$item->MetaDescription, $item->PostedBy ];
     });
     return $pages;
}