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)

Eloquentで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 ヘルパーにたどり着きましたが、それを使用できるかどうか、実際にどのように使用すればよいかわかりません。

誰かが私が必要とする結果を達成するのを手伝ってくれますか?

4

1 に答える 1

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
于 2013-09-26T21:28:39.303 に答える