Twig也显示键而不是仅显示值

时间:2016-11-29 06:26:35

标签: php laravel laravel-5 twig laravel-5.3

我正在使用Laravel 5.3和Twig模板引擎(Not Blade)。我想在表单中生成一个下拉列表列表。而不是只显示值。它也显示了键。

例如:

{"display_name":"Admin"}

在我看来,代码是

{{ form_select('roles', roles, input_get('role'), {id:'user_type',class:'form-control'}) }}

在控制器中

public function create()
{
    $roles = Role::all('display_name');
    return view('users.user-add')->with(['roles' => $roles]);
}

我错过了什么?

1 个答案:

答案 0 :(得分:1)

我建议你为此创建一个帮助程序,这样就不需要将角色从每个控制器传递到每个视图。创建一个这样的辅助函数:

if(!function_exists('getRoles'))
{
function getRoles()
{
    $roles = Role::get();
    foreach ($roles as $role)
    {
        $results[$role->id] = $role->name;
    }

    return $results;
}
}

现在在你的模板中执行:

{{ form_select('roles', getRoles(), input_get('role'), {id:'user_type',class:'form-control'}) }}

我希望我能按照预期理解你的问题,这有助于你达到你想要的目标。