【问题标题】:"Too few arguments to function App\Http\Controllers\Backend\BlogController::edit(), 0 passed and exactly 1 expected"“函数 App\Http\Controllers\Backend\BlogController::edit() 的参数太少,通过了 0,预期正好 1”
【发布时间】:2019-02-11 14:50:49
【问题描述】:

谁能帮我解决这个错误? 这是我的完整路线

Route::resource('/blog/post', 'Backend\BlogController');

这是我在 BlogController 上的编辑功能

public function edit($id)
{
    $post = Post::findOrFail($id);
    return view("backend.blog.edit", compact('post'));
}

这是我的按钮

<a href="{{ route('post.edit', $post->id) }}" class="btn btn-xs btn-default">
    <i class="fa fa-edit"></i>
</a>

【问题讨论】:

  • 试试action('Backend\BlogController@edit', ['id' =&gt; $post-&gt;id])
  • 你能检查$post-&gt;id是否不为空吗?
  • 在你的终端中做php artisan route:list并分享日志
  • 尝试在你的按钮路由方法中传递整个 $post 对象
  • 获取|头|博客/帖子/{post}/编辑 |后编辑 | App\Http\Controllers\Backend\BlogController@edit

标签: laravel


【解决方案1】:

根据文档,生成按钮时,正确的方法是:

<a href="{{ route('post.edit', ['id' => $post->id]) }}" class="btn btn-xs btn-default">
    <i class="fa fa-edit"></i>
</a>

注意将选项数组作为第二个参数传递。

【讨论】:

  • @KhairunNasyrah $post-&gt;id 存在吗?
  • 存在于数据库中
  • 带有null deleted_at 列?
  • 它没有delete_at
猜你喜欢
  • 2020-04-22
  • 2020-11-30
  • 2019-10-29
  • 2019-07-06
  • 2020-12-11
  • 1970-01-01
  • 2020-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多