将 Laravel 5.8 升级到 6.0 后,缺少 [Route] 的必需参数时出错

Error Missing required parameters for [Route] after upgrading Laravel 5.8 to 6.0

Laravel 5.8 升级到 6.0 后,出现以下错误:

local.ERROR: Missing required parameters for [Route: playlist-song.show] [URI: public/admin/playlist-song/{playlist_song}]. {"userId":1,"exception":"[object] (Illuminate\Routing\Exceptions\UrlGenerationException(code: 0):Missing required parameters for [Route: playlist-song.show] [URI: public/admin/playlist-song/{playlist_song}].at /var/www/vendor/laravel/framework/src/Illuminate/Routing/Exceptions/UrlGenerationException.php:17)

Chrome 检查结果:

我已经尝试使用 _- 查找错误并更新路线,但仍然无法解决此错误:

有解决此问题的想法吗?

提前致谢...

===更新

  1. 我怀疑这里有错误:
$datatables = app('datatables')->of($model)
 ->addColumn('action', function ($model) {
                return "<a href='". route('playlist-song.show', ['id' => $model->id]) ."' class='btn btn-success btn-sm'><i class='fa fa-eye'></i></a>" . 
                        " <a href='". route('playlist-song.edit', ['id' => $model->id]) . "' class='btn btn-primary btn-sm'><i class='fas fa-pencil-alt'></i></a>" .
                        " <a href='#' onClick='modalDelete(".$model->id.")' class='btn btn-sm btn-danger'><i class='fas fa-trash'></i></a>";                        
});
  1. 更新URL如下仍然无法解决问题:

href='". {{ route('playlist-song.show', ['playlist-song' => $model]) }}."'

href="{{ route('playlist-song.show', ['playlist-song' => $model]) }}"

您的错误提示您缺少 playlist_song 参数。您将需要指定它的值。尝试是

$datatables = app('datatables')->of($model)
 ->addColumn('action', function ($model) {
                return "<a href='". route('playlist-song.show', ['playlist_song' => $model->id]) ."' class='btn btn-success btn-sm'><i class='fa fa-eye'></i></a>" . 
                        " <a href='". route('playlist-song.edit', ['playlist_song' => $model->id]) . "' class='btn btn-primary btn-sm'><i class='fas fa-pencil-alt'></i></a>" .
                        " <a href='#' onClick='modalDelete(".$model->id.")' class='btn btn-sm btn-danger'><i class='fas fa-trash'></i></a>";                        
});

这指定了参数。如果您仍然遇到问题,请告诉我您的新错误 message/problem 是什么。

您也可以使用以下视图来执行此操作:

$datatables = app('datatables')->of($model)
 ->addColumn('action', function($model) {
                return view('partial.action', compact('model'));
            });

在您想要的地方创建您的视图,您可以在其中放入正常的 html 代码,无需连接和任何其他问题

blade 文件:

 <a href="{{ route('playlist-song.show', ['id' => $model->id]) }}" class='btn btn-success btn-sm'><i class='fa fa-eye'></i></a>
 <a href="{{ route('playlist-song.edit', ['id' => $model->id]) }}" class='btn btn-primary btn-sm'><i class='fas fa-pencil-alt'></i></a>
 <a href='#' onClick="modalDelete('{{$model->id}}')" class='btn btn-sm btn-danger'><i class='fas fa-trash'></i></a>