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

Twig showing keys also instead of only values

我正在使用 Laravel 5.3 以及 Twig 模板引擎(不是 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]);
}

我错过了什么?

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

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'}) }}

我希望我按预期理解了你的问题,这有助于你实现你正在寻找的东西。