簡體   English   中英

Laravel 錯誤:缺少必需的參數

[英]Laravel Error: missing required parameter

當我想編輯帖子時,出現缺少必需參數錯誤,我該如何解決?

[Route: cms.edit] [URI: cms/{cm}/edit] [缺少參數: cm] 缺少必需參數。 (查看:C:\xampp\htdocs\mycmsL\resources\views\cms\edit.blade.php)

這是文章控制器

public function edit(Article $article)
    {
        return view('cms.edit')
        ->with('article',$article)
        ->with('categories',Category::all())
        ->with('tags',Tag::all());
    }

編輯.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

我更改了這部分route('cms.edit',['cms'=> $article->id])但錯誤沒有修復

這是路線列表:在此處輸入圖像描述

您也應該在 function 中使用相同的參數 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());
    }



創建項目比以往任何時候都更容易小型甚至大型項目,您現在可以輕松創建它們。

https://github.com/sameralsayed/WOWLARA-Start-building-projects

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM