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