当我在视图 ... / public / single / 1 中单击菜单导航(例如href ='home')后,他们将我发送到。 ./public/single/home 而不是 ... / public / home
这是我的代码:
菜单列表
<div class="header_content d-flex flex-row align-items-center justify-content-start">
<div class="logo"><a href="#"><span>m</span>a <span> B</span>ibli<span>o</span></a></div>
<nav class="main_nav">
<ul class="d-flex flex-row align-items-start justify-content-start">
<li class="{{$home}}"><a href="home">Acceuil</a></li>
<li class="{{$about}}"><a href="about">About us</a></li>
<li class="{{$listing}}"><a href="listing">Produits</a></li>
<li class="{{$blog}}"><a href="blog">Nouveauté</a></li>
<li class="{{$contact}}"><a href="contact">Contactez nous!</a></li>
</ul>
</nav>
<div class="submit ml-auto"><a href="#">Recherche >></a></div>
<div class="hamburger ml-auto"><i class="fa fa-bars" aria-hidden="true"></i></div>
</div>
</div>
WEB.PHP
Route::get('/single/{id}','AnnonceController@annonce');
Route::get('/home','PagesController@home');
Route::resource('home','AnnonceController');
这是我的控制器:
public function annonce($id) {
$annonce = DB::table('annonce')
->join('article', 'annonce.ID_ANNONCE', '=', 'article.ID_ANNONCE')
->join('photo_articles', 'photo_articles.ID_ARTICLE', '=', 'article.ID_ARTICLE')
->select('annonce.*', 'article.NOM_ARTICLE','PHOTO_ARTICLE')
->where('annonce.ID_ANNONCE',$id)
->get();
return view('single')->with('annonce',$annonce);
}
答案 0 :(得分:1)
之所以发生这种情况,是因为您提供的href ='home'将添加到您的当前URL中,这意味着您位于single / 1(路由参数)上,并且当您单击它时将成为single / home(参数)。
因此请提供完整路径。
我建议您使用laravel的路由功能,并按如下所示为您的路由命名
Route::get('/home','PagesController@home')->name('myhome');
请参阅Documentation来命名路由。
然后像这样在您的刀片中称呼它
{{route('myhome')}}
答案 1 :(得分:0)
您的退货声明应为return view('single',['id' => $id])->with('annonce',$annonce);
注意:请在Laravel中使用关系,而不要使用DB::table
public function annonce($id) {
$annonce = DB::table('annonce')
->join('article', 'annonce.ID_ANNONCE', '=', 'article.ID_ANNONCE')
->join('photo_articles', 'photo_articles.ID_ARTICLE', '=', 'article.ID_ARTICLE')
->select('annonce.*', 'article.NOM_ARTICLE','PHOTO_ARTICLE')
->where('annonce.ID_ANNONCE',$id)
->get();
return view('single',['id' => $id])->with('annonce',$annonce);
}