2013-09-26 51 views
0

我的数据库中有一个表,其中的字段为“类别”和“标题”。我有多个相同类别但其他标题的记录。我想要做的是在我的页面上打印一次类别,然后显示相同类别的所有标题。 因此,像这样:按类别对数据库结果进行排序

Category 1 
Title 3(=newest) 
Title 2 
Title 1(=olddest) 

Category 2 
Title 1 

Category 3 
Title 3(=newest) 
Title 2 
Title 1(=olddest) 

进出口使用与口才的Laravel 4框架。所以我将结果作为JSON对象返回。

我在看什么:

视图

@foreach($photos as $photo) 

    {{$photo->Category}} 

    @foreach($photo as $category) 
     {{ $photo->Title }} 
    @endforeach 

@endforeach 

控制器

$photos = Photo::orderBy('Date')->get(); // Sort by so that newest photos come first per category 
return View::make('myView')->with('photos', $photos); 

当寻找远一点我来上array_add helper,但我不确定我是否可以使用它,以及我应该如何使用它。

有人可以帮助我实现我需要的结果吗?

回答

1

你可以这样做:

$photos = Photo::orderBy('category')->orderBy('created_at', 'desc')->get(); 
return View::make('myView')->with('photos', $photos); 

然后

<?php $category = ''; ?> 
@foreach($photos as $photo) 

    @if($category != $photo->Category) 
     {{$photo->Category}} 
     <?php $category = $photo->Category; ?> 
    @endif 

    {{ $photo->Title }} 

@endforeach 
+0

我真的不能做到这一点,因为我以后要排序日期。照片将在日后订购。 – mXX

+0

所以你应该准确地展示你需要做什么。 –

+0

你是对的,我改变了原来的问题。希望你仍然可以帮助我, – mXX

相关问题