Laravel Error: missing required parameter
Laravel Error: missing required parameter
当我想编辑 post 时,出现缺少必需参数错误,我该如何解决?
Missing required parameter for [Route: cms.edit] [URI: cms/{cm}/edit]
[Missing parameter: cm]. (View:
C:\xampp\htdocs\mycmsL\resources\views\cms\edit.blade.php)
这是 articlesController:
public function edit(Article $article)
{
return view('cms.edit')
->with('article',$article)
->with('categories',Category::all())
->with('tags',Tag::all());
}
和edit.blade.php:
<form method="POST" action="{{ route('cms.edit',['id'=> $article->id]) }}" enctype="multipart/form-data">
@csrf
@method('put')
<div class="mb-3">
<input type="text" name="title" class="form-control" id="title" value="$article->title">
</div>
<div class="mb-3">
<textarea type="text" class="form-control" id="description" name="description" rows="5" value="$article->description"></textarea>
</div>
<div class="mb-3">
<input type="file" class="form-control" name="image" id="image" value="$article->image">
</div>
<div class="mb-3">
<textarea type="text" name="content" class="form-control" id="content" rows="15" value="$article->content"></textarea>
</div>
<div class="mb-3">
<select class="form-select" name="tag" aria-label="Default select example">
@foreach ($tags as $tag) ?>
<option value="{{$tag->id}}"> {{$tag->name}} </option>
@endforeach
</select>
</div>
<div class="mb-3">
<select class="form-select" name="category" aria-label="Default select example">
@foreach ($categories as $category) ?>
<option value="{{$category->id}}"> {{$category->name}} </option>
@endforeach
</select>
</div>
<button class="btn btn-primary">Submit</button>
</form>
这是我的路线:
Route::resource('cms',articlesController::class);
和{{dd($article->id)}}
在我想查看数据时返回我null
。
您也应该在函数中使用相同的参数 url 名称
//Change this from
{{ route('cms.edit',['id'=> $article->id]) }}
//TO
{{ route('cms.edit',['cm'=> $article->id]) }}
public function edit(Article $cm) // old param name '$article'
{
return view('cms.edit')
->with('article',$cm)
->with('categories',Category::all())
->with('tags',Tag::all());
}
当我想编辑 post 时,出现缺少必需参数错误,我该如何解决?
Missing required parameter for [Route: cms.edit] [URI: cms/{cm}/edit] [Missing parameter: cm]. (View: C:\xampp\htdocs\mycmsL\resources\views\cms\edit.blade.php)
这是 articlesController:
public function edit(Article $article)
{
return view('cms.edit')
->with('article',$article)
->with('categories',Category::all())
->with('tags',Tag::all());
}
和edit.blade.php:
<form method="POST" action="{{ route('cms.edit',['id'=> $article->id]) }}" enctype="multipart/form-data">
@csrf
@method('put')
<div class="mb-3">
<input type="text" name="title" class="form-control" id="title" value="$article->title">
</div>
<div class="mb-3">
<textarea type="text" class="form-control" id="description" name="description" rows="5" value="$article->description"></textarea>
</div>
<div class="mb-3">
<input type="file" class="form-control" name="image" id="image" value="$article->image">
</div>
<div class="mb-3">
<textarea type="text" name="content" class="form-control" id="content" rows="15" value="$article->content"></textarea>
</div>
<div class="mb-3">
<select class="form-select" name="tag" aria-label="Default select example">
@foreach ($tags as $tag) ?>
<option value="{{$tag->id}}"> {{$tag->name}} </option>
@endforeach
</select>
</div>
<div class="mb-3">
<select class="form-select" name="category" aria-label="Default select example">
@foreach ($categories as $category) ?>
<option value="{{$category->id}}"> {{$category->name}} </option>
@endforeach
</select>
</div>
<button class="btn btn-primary">Submit</button>
</form>
这是我的路线:
Route::resource('cms',articlesController::class);
和{{dd($article->id)}}
在我想查看数据时返回我null
。
您也应该在函数中使用相同的参数 url 名称
//Change this from
{{ route('cms.edit',['id'=> $article->id]) }}
//TO
{{ route('cms.edit',['cm'=> $article->id]) }}
public function edit(Article $cm) // old param name '$article'
{
return view('cms.edit')
->with('article',$cm)
->with('categories',Category::all())
->with('tags',Tag::all());
}