使用laravel 5.1中的数据表将表单从控制器发送到视图

时间:2015-12-15 16:30:15

标签: datatables laravel-5.1 formhelper

这是我的代码:

public function getRolesData()
    {
        $roles = Role::All();
        return Datatables::of($roles)      
            ->addColumn('action', function ($role) {
                return "{!! Form::open(array('method'=>'DELETE', 'route' => array('admin.role.destroy',".$role->id."))) !!}
                        {!! Form::submit('Delete', array('class'=>'btn btn-danger')) !!}
                        {!! Form::close() !!}
                        ";
                })            
                ->make(true);
    }

在视图中的“操作”列中,我得到相同的代码:

{!! Form::open(array('method'=>'DELETE', 'route' => array('admin.role.destroy',1))) !!} {!! Form::submit('Delete', array('class'=>'btn btn-danger')) !!} {!! Form::close() !!} 

没有出现提交按钮!我的代码中有什么错误?

1 个答案:

答案 0 :(得分:0)

在您的示例中,您使用的是刀片sintax,它不会在您的控制器内部工作,因为它不是刀片文件。

尝试:

return  \Form::open(array('method'=>'DELETE', 'route' => array('admin.role.destroy',".$role->id."))) .
        \Form::submit('Delete', array('class'=>'btn btn-danger')) .
        \Form::close();

或者,您可以将表单移动到blade文件

e.g。 views/admin/role/partials/datatables-form.blade.php(或者对您的应用有意义的地方),然后返回该视图文件。

return view('admin.role.partials.datatables-form', compact('role'))

系统管理员/角色/分音/数据表-form.blade.php

{!! Form::open(array('method'=>'DELETE', 'route' => array('admin.role.destroy',".$role->id."))) !!}
{!! Form::submit('Delete', array('class'=>'btn btn-danger')) !!}
{!! Form::close() !!}

希望这有帮助!