目前我从表中获取所有行,并显示页面上的每个类别。现在我想做一些新的东西但是在尝试了几件事之后我有点卡住了。 所以现在我有一个叫做照片的链接'当点击它时,所有照片都会显示出来。现在我想要一个子菜单,这样我才能看到某个类别的照片。这就是表格的样子
pk imgUrl category
--------------------
1 ... portret
2 ... nature
3 ... portret
4 ... cars
导航到www.mysite.com/photos时,无论类别如何,都会显示我的所有照片。 现在我想在访问www.mysite.com/photos/portret时添加功能,我只能看到类别portret中的照片。
我能够动态创建链接并转到正确的URL(www.mysite.com/photos),但页面为空。所以我不知道出了什么问题。路由?
我会发布我尝试过的内容以及我目前的内容。
在导航是静态的之前,但现在我想要它动态我添加了 NavController
public function index()
{
//
//return Photo::all();
$title = "Photo";
$photos = Photo::orderBy('category')->get();
return View::make('photo')->with('title', $title)->with('photos', $photos);
//QUERY - Eloquent
//return Photo::all();
}
它的相应视图是 nav.blade ,其中包含此内容(这打印出我的动态链接)
<?php
$category = "";
?>
<ul>
@foreach($photos as $photo)
@if($category != $photo->Category)
<li><a href="{{ $photo->Category }}"> {{ $photo->Category }} </a></li>
<?php $category = $photo->Category; ?>
@endif
@endforeach
</ul>
然后在我的路径中,我可以导航到动态页面
Route::get('photos/{theme}', array('as' => '{theme}', 'uses' => 'PhotosController@show'));
然后在我的 PhotosController 中我有
public function show($theme){
$photos = Photo::where('category', $theme);
return View::make('photo')->with('title', $theme)->with('photos', $photos);
}
在我看来 photos.blade
<?php
$category = "";
?>
@foreach($photos as $photo)
<a href="#myModal" class="linkWrapper"> {{ HTML::image("img/$photo->Link", "$photo->Title", array("class"=>"thumbnail thumbEffect")) }} </a>
@endforeach
所以我没有看到或理解我做错了什么。此外,当访问www.mysite.com/photos/portret页面时,动态链接不再出现,而这应该只是在nav.blade中包含的动态链接我的模板。 有人能帮帮我吗?
编辑:我在这里的大部分工作是由于我在SO上找到的其他问答,而这是Laravel Creating Dynamic Routes to controllers from Mysql database
答案 0 :(得分:1)
您的代码看起来对我很好,但您忘记从数据库中获取照片:
public function show($theme)
{
$photos = Photo::where('category', $theme)->get(); /// here
return View::make('photo')->with('title', $theme)->with('photos', $photos);
}