重複データを省いてページネーションでレコードを表示する

やりたいこと

画像一覧画面を作るため、PhotosControllerを作り、indexアクションでEventsテーブルのimgカラムに登録した画像ファイル名を表示させたい。

詰まったところ

Eventsテーブルで、同じ画像を登録しているレコードが複数あった場合、下画像のように同じ画像が何度も表示されてしまう。

画像2

そのため、以下のコードを追加すると重複した画像ファイル名は省いて表示されるようになる。

public function index() {

       // Eventsテーブルのimgカラムのデータから、重複データを省いて表示
       $this->paginate = [
           'fields' => 'img',
           'group' => 'img',
           ];
           
		// ページネーションを追加する。
		$this->set(['events' => $this->paginate($this->Events)]);
}

結果

画像2

この記事が気に入ったらサポートをしてみませんか?