showページの追加
recommendsディレクトリにshow.blade.phpを作成します。
コントローラー追加
ルーティングは以下の通りです。
| | GET|HEAD | recommends/{recommend} | recommends.show | App\Http\Controllers\RecommendController@show | web
showメソッドで{recommend}を受け取り、show.blade.phpへ投げます。
なお、recommends/{recommend}の{recommend}にはDBのid番号が入ります。
recommend/app/Http/Controllers/RecommendController.php
public function show(Recommend $recommend)
{
return view('recommends.show', compact('recommend'));
}
showで受け取ったデータの出力方法
{{$recommend-> カラム名}}で各データを表示できます。
recommend/resources/views/recommends/show.blade.php
<table>
<tr>
<th>{{$recommend->title}}</th>
<th>{{$recommend->image_file_name}}</th>
<th>{{$recommend->url}}</th>
<th>{{$recommend->description}}</th>
<th>{{$recommend->Impressions}}</th>
</tr>
</table>
リンクの作成
showページへのリンクは、以下の方法で設定できます。
なお、今回はindexページのタイトルにリンク設定しました。
recommend/resources/views/recommends/index.blade.php
<a href="{{route('recommends.show', $recommend->id)}}">{{$recommend->title}}</a>
ちなみに、以下でも同じ動作を実現できます。
この表記では、該当するデータを{recommend}としてコントローラー側で受け取っていることが分かり易い反面、ルーティングを変更した場合に機能しなくなってしまうので注意が必要です。
recommend/resources/views/recommends/index.blade.php
<a href="recommends/{$recommend->id}">{{$recommend->title}}</a>