我制作了一個博客模板,但在制作路線時遇到了麻煩。當我點擊鏈接時,它應該將我重定向到文章頁面。相反,它只是將我重定向到同一頁面/同一確切位置。這是我的代碼:
<section id="about" class="ts-block" >
<div id="cards_landscape_wrap-2">
<div class="container">
<div class="row">
@foreach($blogs as $blog)
<div class="col-lg-4">
<a href={{route("blogs.show",$blog->slug)}}>
<div class="card-flyer" >
<div class="text-box">
<div class="image-box ">
<img src="{{'/images/blogs/'.$blog->image}}" alt="{{$blog->title}}" class="img-fluid rounded mx-auto d-block" width="100%"/>
</div>
<div class="text-container">
<h6>{{$blog->title}}</h6>
<p style="max-width: 18rem;"class="ts-opacity__50">{{Str::limit($blog->description,100)}}</p>
</div>
<div class="card-footer">
<span class="text-primary font-weight-bold">Read</span>
</div>
</div>
</div>
</a>
</div>
@endforeach
</div>
</div>
</div>
</section>
博客控制器:
public function getArticles()
{
return view('blog')->with([
'blogs' => Blog::all(),
]);
}
路線:
Route::get('/blog/', [App\Http\Controllers\BlogController::class, 'index'])->name('blog');
Route::get('blogs/','App\Http\Controllers\BlogController@getArticles')->name('blogs.show');
Route::get('/admin/blog', 'App\Http\Controllers\BlogController@getBlog')->name('admin.blog');
Route::resource('/blog','App\Http\Controllers\BlogController');
應該將我重定向到另一個頁面的路由是第二個帶有BlogController@getArticles. 其他路線都很好,沒有問題。
有人可以告訴我我做錯了什么嗎?
uj5u.com熱心網友回復:
首先,通過以下方式更改您的路線:
Route::get('/blogs/{slug}','App\Http\Controllers\BlogController@getArticles')->name('blogs.show');
然后,在您的函式中:
public function getArticles($slug)
{
return view('blog')->with([
'blogs' => Blog::firstWhere('slug', $slug);
]);
}
uj5u.com熱心網友回復:
好吧,您的問題有點令人困惑,因為這是代碼的預期結果。
您正在呼叫“blogs.show”路由,它將您重定向到博客頁面。如果你想為每篇文章創建一個單獨的頁面,你可以在 Laravel 中使用Dynamic Routing。
您所要做的就是:
在 web.php 中:
Route::get('blogs/{slug}', 'App\Http\Controllers\BlogController@getArticle')->name('article.show');
并在您的控制器中:
public function getArticles($slug)
{
$article = Blog::where('slug', $slug)->first();
return view('article')->with([
'article' => $article,
]);
}
之后,<a href={{route("article.show",$blog->slug)}}></a>將作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/321851.html
標籤:javascript php 拉拉维尔 laravel-5
下一篇:Laravel中的洗掉功能
