如何在Laravel控制器中使用变量?

时间:2015-09-19 04:33:54

标签: php variables laravel error-handling

我在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();
}

1 个答案:

答案 0 :(得分:1)

你需要

    ->editColumn('number', function($row) use (&$index){ return ++$index; })

而不是

    ->editColumn('number', function($row){ return ++$index; })

use关键字是从范围传递闭包变量,&使其能够编辑原始变量