PHP Laravel 6 おすすめ映画投稿サイト作成過程 2:一覧ページ作成編


viewファイルの追加

一覧を表示するため、今回は新たに作成したrecommensディレクトリにindex.blade.phpを作成しました。

コントローラーの設定

コントローラー側では$recommendsをviewに渡します。

recommend/app/Http/Controllers/RecommendController.php
  public function index()
    {
      $recommends = Recommend::all();
        return view('recommends.index', ['recommend' => $recommends]);
    }

ダミーデータの入力

5件のダミーデータを入力します。
今回は、未入力が許されないタイトルとURLのみ指定します。

useにコントローラーモデルを追加

recommend/database/seeds/RecommendSeeder.php
 use Illuminate\Database\Seeder;//元から記載されている。
 use App\Models\Recommend; //追加。

for文で5件のダミーデータを作成

recommend/database/seeds/RecommendSeeder.php
 public function run()
    {
      for($i = 1; $i < 6; $i++){
        Recommend::create([
          'title' => 'test{$i}',
          'url' => 'url{$i}'
        ]);
      };
    }

上記をデータベースシーダーに流し込む

recommend/database/seeds/DatabaseSeeder.php
 public function run()
    public function run()
    {
        $this->call(RecommendSeeder::class);
    }

シーダーを実行

 $php artisan db:seed

以上でダミーデータ作成完了です。

index.blade.phpでDB一覧の表示

今回は、タイトルとタイトル画像を一覧で表示することにします。
手段はforEachでの展開です。

recommend/resources/views/recommends/index.blade.php
@foreach($recommends as $recommend)
   <tr>
      <th>{{$recommend->title}}</th>
      <th>{{$recommend->url}}</th>
   </tr>
@endforeach

ページネーション

表示数が多くなった場合には、以下の方法でページを分割することができます。
(加筆予定)