Laravel 批量分配无效

Laravel in Mass Assignment is not working

从事与类别和子类别相关的项目,并且通过将数据插入数据库来工作得很好。 但我想转换为 laravel 批量分配,这样可以节省大量代码而不是大量离线代码。 大多数代码都很好用,但我正在尝试修复的一部分与 请查看示例代码。

CategoriesController.php

 public function store()

    {
        $data = request()-> validate([
            'name' => 'required',
            'description' => 'required',
            'url'=> 'required',
            'status'=>'',
        ]);
        Category::create($data);
        $levels = Category::where(['parent_id'=>0])->get();
        return view('admin.categories.add_categories')->with(compact('$levels'));
        }

add_categories.blade.php

@section('content')
<div class="content-wrapper">
    <div class="container-fluid mx-auto pt-md-5" style="width:80%;">
        <div class="card card-danger ">
            <div class="card-header ">
              <h3 class="card-title">Add Categories</h3>
            </div>
            <!-- /.card-header -->
            <!-- form start -->
<form class="form-horizontal" method="post" action="" name="addcategories" id="addcategories">
{{ csrf_field() }}
              <div class="card-body">
<!-- Category Name -->
    <div class="form-group row">
<div class="form-group row">
            <label for="" class="col-sm-2 col-form-label">: </label>
                 <div class="col-sm-10">
                    <select name="parent_id" style="width: 220px;">
                        <option value="0">Main Category</option>
                        
                          @foreach($levels as $val)
                          <option value="{{ $val->id }}">{{ $val->name }}</option>
                        @endforeach
                      </select>
                 </div>
        </div>
        </div>


 </div>
              </div>
   <div class="card-footer">
      <button type="submit" class="btn btn-success float-md-right ">Add</button>
        </div>
         <!-- /.card-footer -->
           </form>
</div>
    </div>
        </div>
              </div>

@endsection

Category.php

class Category extends Model
{
    protected $guarded = [];

   public function scopeCategory($query)
   {
       return $query->where(['parent_id'=>0]);
   }

为什么我会收到错误消息??我说“Undefined variable: levels (View:..”与@foreach($levels as $val) 相关....但是$levels 的变量已经存在...

我在批量作业中缺少什么

请帮忙,非常感谢。

You misspelled, $levels should be levels :

return view('admin.categories.add_categories')->with(compact('$levels'));

更改为:

return view('admin.categories.add_categories')->with(compact('levels'));

return view('admin.categories.add_categories', compact('levels'));

或者,

return view('admin.categories.add_categories')->with('levels', $levels);