我在Laravel 5.1中使用DataTables,我想在函数中增加一个变量,但这是错误。
未定义的变量:index
public function create()
{
$index = 0;
return Datatables::of(news::select('news.id as check', 'news.id as number', 'news.title', 'news.body', 'news.hits',
'news.created_at'))
->editColumn('check', function ($row) {
return '<input type="checkbox" name="checkedBox1[]" value="' . $row->check . '">';
})
->editColumn('number', function ($row) {
return ++$index;
})
->editColumn('created_at', function ($row) {
return jDate::forge(strtotime($row->created_at))->format('datetime');
})
->make();
}
答案 0 :(得分:1)
你需要
->editColumn('number', function($row) use (&$index){ return ++$index; })
而不是
->editColumn('number', function($row){ return ++$index; })
use
关键字是从范围传递闭包变量,&
使其能够编辑原始变量