选择框 laravel 未定义的变量

Posted

技术标签:

【中文标题】选择框 laravel 未定义的变量【英文标题】:Select box laravel undefined variable 【发布时间】:2021-12-27 22:19:50 【问题描述】:

我的选择框不起作用。试图在选择选项上显示视图中的表(部门)的名称。我得到的错误是:

未定义变量:部门(查看:C:\xampp\htdocs\project\resources\views\users\form.blade.php)

这是我的控制器

    public function edit($userID)
    
        $usuario = User::query()->findOrFail($userID);
        $roles = Role::pluck('display_name','id');
        $departments = Department::all();

        return view('users.edit',compact('usuario','roles','departments'));
    

我的看法

      <select name="department_id" id="department_id" class="form-select">
          --@foreach($departments as $department)--
                <option value="$department->id">$department->name</option>
          --@endforeach--
      </select>

【问题讨论】:

【参考方案1】:
<select name="department_id" id="department_id" class="form-select">
   @foreach ($departments as $department)
       <option value="$department->id">$department->name
   @endforeach
</option>

在刀片上循环是这样的

【讨论】:

【参考方案2】:

在 Laravel Blade 中,语法 -- 表示以下内容已被注释掉。在您的情况下,您注释掉了部门集合的迭代。这就是 $department 未定义的原因。

您必须使用 @foreach($departments as $department) ... @endforeach 而不是 --@foreach($departments as $department)--

【讨论】:

【参考方案3】:

我解决了它改变控制器并且没有 cmets

   public function edit($userID)
    
        $usuario = User::query()->findOrFail($userID);
        $roles = Role::pluck('display_name','id');
        $departments = Department::all(['id','name']);
        //dd($departments);
        return view('users.edit',compact('usuario','roles','departments'));
    
<select name="department_id" id="department_id" class="form-select">
        @foreach ($departments as $department)
            <option value="$department->id">$department->name</option>
        @endforeach

【讨论】:

以上是关于选择框 laravel 未定义的变量的主要内容,如果未能解决你的问题,请参考以下文章

未定义的变量 Laravel 8 [关闭]

Laravel 6未定义变量:工作

视图laravel内部未定义的变量

错误:laravel 视图中未定义的变量

视图页面laravel中的未定义变量[关闭]

Laravel - 视图上未定义的变量 $data