Php 未定义变量:编辑刀片中的类别

Php 未定义变量:编辑刀片中的类别,php,laravel,controller,laravel-blade,edit,Php,Laravel,Controller,Laravel Blade,Edit,我的控制器中有这个,但它在我的edit.blade中保留了下面的错误 <input type="text" name="name" id="name" class="form-control @error('name') is-invalid @enderror" value="{{$category->name}}" placeholder="Category Name&

我的控制器中有这个,但它在我的edit.blade中保留了下面的错误

<input type="text" name="name"  id="name" class="form-control @error('name') is-invalid @enderror" value="{{$category->name}}" placeholder="Category Name">
错误例外 未定义变量:类别视图:

名称空间App\Http\Controllers

使用App\Models\Category; 使用\Http\Request

类CategoryController扩展控制器 { /** *显示资源的列表。 * *@return\light\Http\Response * */ 公共函数构造 {

}

这是我的编辑刀片

<input type="text" name="name"  id="name" class="form-control @error('name') is-invalid @enderror" value="{{$category->name}}" placeholder="Category Name">

像这样修复你的函数。我假设你的模型都是小写的

public function index()
{
    $categories = category::all();
    return view('category.index', ['categories' => $categories]);
}

public function edit($id) 
{
    $category=category::find($id);
    return view('category.edit', ['category' => $category]); 
}
哪个类别字符串是刀片文件上的变量,$categories是控制器中的变量

这是您的索引刀片文件中的示例

@foreach ($categories as $category)
    <input type="text" name="name"  id="name" class="form-control @error('name') is-invalid @enderror" value="{{ $category->name }}" placeholder="Category Name">
@endforeach
<input type="text" name="name"  id="name" class="form-control @error('name') is-invalid @enderror" value="{{ $category->name }}" placeholder="Category Name">
这是用于编辑刀片文件

@foreach ($categories as $category)
    <input type="text" name="name"  id="name" class="form-control @error('name') is-invalid @enderror" value="{{ $category->name }}" placeholder="Category Name">
@endforeach
<input type="text" name="name"  id="name" class="form-control @error('name') is-invalid @enderror" value="{{ $category->name }}" placeholder="Category Name">
这是一个打字错误,它将是{{$categories->name},还将控制器代码更改为[$categories='categories']到[$categories=>'categories'],=to=>这是代码的另一个打字错误[$categories='categories']-这样做的目的是将字符串“category”分配给$category变量,覆盖从数据库获得的内容。我假设您想将$category变量放在“category”索引下。@Espresso[$categories=>'category']无效。应该是另一种方式。哎呀,我的错,它应该['categories'=>$categories]@El_Vanja