环境: Laravel 5.4、Acacha\Adminlte、Yajra/laravel-datatables
Laravel 5.4中的Datatable中的HTML代码,而不是在Laravel 5.3中解析网页中的代码。*工作正常。
问题的代码片段
public function data()
{
DB::statement(DB::raw('set @rownum=0'));
$result = My_Model::select(array(
DB::raw('@rownum := @rownum + 1 AS rownum'),
'created_at',
'name'));
$datatables = Datatables::of($result)
->edit_Column('rownum', '<div style="text-align:center;"><a class="btn btn-primary btn-xs">{{ $rownum }}</a></div>')
->edit_Column('created_at','<div style="text-align:center;">{{ App\Functions::setDateTime($created_at) }}')
->edit_Column('name', '<div style="text-align:left;"><a class="btn btn-success btn-xs">{{ $name}}</a></div>');
return $datatables->make(true);
}结果显示在网页中的数据表中,只显示此文本,而不是值为1的按钮:
<div style="text-align:center;"><a class="btn btn-primary btn-xs">1</a></div>系统详细信息
Operating System: Windows 7 Professional
PHP Version: 7.0.10 (from Laragon 2.2.2)
Laravel Version: 5.4.11
Laravel-Datatables Version: 7.1.4 & 7.2.1发布于 2017-02-17 14:32:01
解决了。
解决方案:Escape columns by default
添加rawColumns:
$datatables = Datatables::of($result)->rawColumns(['rownum','created_at','name']) ...https://stackoverflow.com/questions/42279923
复制相似问题