【问题标题】:Twig showing keys also instead of only valuesTwig 还显示键而不是仅显示值
【发布时间】:2016-11-30 13:41:23
【问题描述】:

我正在使用 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]);
}

我错过了什么?

【问题讨论】:

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


    【解决方案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'}) }}
    

    我希望我能按预期理解您的问题,这有助于您实现所需的目标。

    【讨论】: