如何在 laravel 4.2 的数据表中添加编辑/删除按钮?

How to Add Edit / Remove button in datatable at laravel 4.2?

我使用了 laravel 4.2 billam 服务器端数据表,现在可以使用了。但是我无法在此数据表中添加编辑和删除按钮。

查看页面:

 <script type="text/javascript">
var oTable;
$(document).ready(function() {
    oTable = $('#tasks').dataTable( {
        "sPaginationType": "bootstrap",
        "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": "{{ URL::to('/task') }}"
    });
});

路线:

Route::get('/task',function(){
$posts = Campaigns::select(array('title','created_at','status'));
 return Datatables::of($posts)
 ->make();
});

现在如何添加删除和编辑按钮?我正在关注 here 的文档,但对我不起作用。

记录示例 2:添加和编辑列

->add_column('operations', '<a href="{{ URL::route( \'admin.post\', array( \'edit\',$id )) }}">edit</a>
                <a href="{{ URL::route( \'admin.post\', array( \'delete\',$id )) }}">delete</a>
            ')
->edit_column('status', '{{ $status ? 'Active' : 'Passive' }}')
->edit_column('ownername', function($row) {
    return "The author of this post is {$row->ownername}";
})

但是如何在路由或控制器中使用 blade 结构化代码?这有点混乱..

要从控制器将 link 添加到数据表列,您可以这样做:

->addColumn('actions', function ($data) {
                return "<a class='btn btn-xs btn-success' href='/management/members/$data->id/view'>View</a>";
            })

$data 是数据表包装器之后的查询。所以在控制器方法的概念中,这将类似于这样使用:

/**
 * Members list data.
 *
 * @param Datatables $datatables
 * @param MemberRepository $repository
 *
 * @return \Illuminate\Http\JsonResponse
 */
public function getIndexData(Datatables $datatables, MemberRepository $repository)
{
    $members = $repository->getMemberListForManagement();


    return $datatables->usingQueryBuilder($members)
        ->editColumn('created_at', function ($data) {
            return date('d F Y', strtotime($data->created_at));
        })
        ->editColumn('is_banned',
            '@if($is_banned)
                Yes
            @else
                No
            @endif')
        ->addColumn('actions', function ($data) {
            return "<a class='btn btn-xs btn-success' href='/management/members/$data->id/view'>View</a>";
        })
        ->removeColumn('id')
        ->make(true);
}