Mar*_*cha 2 php datatables laravel laravel-5.4
我正在使用 Laravel 5.4 和 Yajra 数据表,下面是我的代码正常工作,但在我创建的第二个操作中,按钮没有显示,而是显示文本本身“ <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);
}
Run Code Online (Sandbox Code Playgroud)
前端部分
<script type="text/javascript">
$(function() {
$('#product-table').DataTable({
processing: true,
serverSide: true,
ajax: '{{ url('product/get_product_datatable') }}',
columns : [
{data: 'id', name: 'id'},
{data: 'product_code', name: 'product_code'},
{data: 'action', searchable: false, orderable: false},
{data: 'add_price', searchable: false, orderable: false},
{data: 'created_at', name: 'created_at'},
{data: 'updated_at', name: 'updated_at'}
]
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
您需要定义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);
}
Run Code Online (Sandbox Code Playgroud)