【问题标题】:Laravel in Mass Assignment is not working批量分配中的 Laravel 不起作用
【发布时间】:2020-10-16 03:39:17
【问题描述】:

从事与类别和子类别相关的项目,并且通过将数据插入数据库来工作得很好。 但我想转换为 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]);
   }

为什么我会收到错误消息?我说“未定义的变量:级别(视图:..”与@foreach($levels as $val)有关......但$levels的变量已经存在......

我在批量作业中缺少什么

请帮助非常感谢。

【问题讨论】:

    标签: laravel foreach variable-assignment


    【解决方案1】:

    你拼错了,$levels 应该是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);
    

    【讨论】:

    • 我将在此处添加一些更正。使用 with() 时,最好这样做:php return view('admin.categories.add_categories')-&gt;with(['levels' =&gt; $levels]);`
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    • 2019-02-03
    • 2014-02-17
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多