Laravel 某些路线未找到
我在拉雷维尔的一些路线有问题。这是我在web.php文件中的代码:Laravel 某些路线未找到,laravel,Laravel,我在拉雷维尔的一些路线有问题。这是我在web.php文件中的代码: Route::group(['namespace'=>'Admin','middleware'=>['auth:web']],函数(){ 路由::get('/admin/audio/create/{audio?}','AdminAudioController@create')->name('admin.audioCreate'); 路由::get('/admin/article/create/{article?}','Admin
Route::group(['namespace'=>'Admin','middleware'=>['auth:web']],函数(){
路由::get('/admin/audio/create/{audio?}','AdminAudioController@create')->name('admin.audioCreate');
路由::get('/admin/article/create/{article?}','AdminArticleController@create)->name('admin.articleCreate');
}
这是我在刀片上的链接
这是我的控制器:
管理员音频控制器
您有代码
return view('admin.article.create', compact('$article'));
但需要
return view('admin.article.create', compact('article'));
我可以看出你们在侧面契约中提到了$article
请您检查一下,我认为create方法应该是这样的:
public function create(Article $article = null)
{
return view('admin.article.create', compact('article'));
}
在控制器上调用方法create(Article$Article=null)
时,Laravel使用该方法解析模型,模型绑定使用您添加到模型中的方法
public function getRouteKeyName()
{
return 'slug'; // by default it will be $primaryKey which is 'id'
}
简言之,当你给他articleId
所以要解决它,你几乎没有选择
- 在URL中使用slug(我推荐的一个)
//blade.php
- 在URL中使用主articleId
//blade.php
//Article.php.php
公共函数getRouteKeyName()
{
返回“articleId”;
}
- 使用查询
//blade.php
//Controller.php
公共函数create($article=null)
{
$article=article::where('YOUR_字段',$article)->firstOrFail();
返回视图('admin.article.create',compact('article');
}
我觉得你的代码还可以,也许你有缓存的路由。试着执行:php artisan route:cache
你的链接中$article->articleId
的内容是什么?我假设你有一个在你的文章表中找不到的值它的Id记录,当点击链接时它会转到链接“”但不显示我的视图并获取404和courect链接到“”它的工作是正确的,我会假设这篇文章存在于你的表上。articleId
是一个替换id
的自定义主键吗?如果是这样的话,可能是你的模型article
缺少protected$primaryKey='articleId';
是的,你说得对,我编辑了我的问题,但找不到我的创建方法d如果我把dd(某物)放在创建方法get 404中,我想Routes中有问题。你能给我看表格文章吗?你有哪条记录?你说得对,我编辑了我的问题。这是一个问题错误。这是我的问题
public function getRouteKeyName()
{
return 'slug'; // by default it will be $primaryKey which is 'id'
}
// blade.php
<a href="{{ route('admin.articleCreate' , ['article' => $article->slug]) }}"><i class="fa fa-edit"></i></a>
// blade.php
<a href="{{ route('admin.articleCreate' , ['article' => $article->articleId]) }}"><i class="fa fa-edit"></i></a>
// Article.php.php
public function getRouteKeyName()
{
return 'articleId';
}
// blade.php
<a href="{{ route('admin.articleCreate' , ['article' => $article->YOUR_FIELD]) }}"><i class="fa fa-edit"></i></a>
//Controller.php
public function create($article = null)
{
$article = Article::where('YOUR_FIELD', $article)->firstOrFail();
return view('admin.article.create', compact('article'));
}