Laravel Datatable中的按钮无法呈现

时间:2017-08-17 03:44:07

标签: php laravel datatables laravel-5.4

我使用Laravel 5.4和Yajra数据表,下面是我的代码正常工作但在我创建的第二个操作中,按钮没有显示,而是显示文本本身" { {1}}"我错过了什么?

<a href="/product/'. $row->id .'/create-price" class="btn btn-primary">Add Price</a>

前端部分

public function getProductDatatable()
    {
        $Product = Product::query();
       return Datatables::eloquent($Product)
        ->addColumn('action', function($row) {
            return '<a href="/product/'. $row->id .'/edit" class="btn btn-primary">Edit</a>';
        })

        ->addColumn('add_price', function($row) {
            return '<a href="/product/'. $row->id .'/create-price" class="btn btn-primary">Add Price</a>';
        })

       ->make(true);
    }

2 个答案:

答案 0 :(得分:2)

您需要定义rawColumns

public function getProductDatatable()
    {
        $Product = Product::query();
       return Datatables::eloquent($Product)
        ->addColumn('action', function($row) {
            return '<a href="/product/'. $row->id .'/edit" class="btn btn-primary">Edit</a>';
        })

        ->addColumn('add_price', function($row) {
            return '<a href="/product/'. $row->id .'/create-price" class="btn btn-primary">Add Price</a>';
        })
       ->rawColumns(['add_price', 'action'])
       ->make(true);
    }

答案 1 :(得分:1)

我发现了issue on github,尝试添加rawColumns

 Datatables::eloquent($Product)
 ->addColumn(..)
 ->rawColumns(['add_price']);