###詳細画面の表示
店舗や組織、ユーザー、投稿等の詳細画面を作成時によく使われるメソッドとして
『showアクションメソッド』が使用されます。
どのように使用するのか、ある組織の詳細画面を表示するという設定でコードの一例を紹介させていただきます。
###routes
Route::get('/organization/{organization}', 'UserController@show')->name('organization.show');
/organization/{organization}にアクセスをすると、UserContoroller内のshowメソッドの処理が行われるルーティングが設定されております。名前付きルートで記載されている為、アクセス時にはView側に{{ route('organizaition.show') }}を記載する必要がある事が分かります。
###Controller
namespace App\Http\Controllers;
use App\User;
public function show($id)
{
$user = User::find($id);
return view('detailOrganization', compact('user'));
}
useにUserモデル(組織情報が登録されている)を使用すると定義されている為、User::find($id)の返り値はUserモデルのオブジェクトが返されます。
###View
<p>組織名:{{ $user->name }}</p>
<p>電話番号:{{ $user->tell }}</p>
<p>住所:{{ $user->address }}</p>
<p>外観図:<img src="{{ $user->image }}" alt=""></p>
組織の詳細画面に遷移すると、nameカラムから組織名、tellカラムから電話番号、addressカラムから住所、imageカラムから外観図が取得されブラウザに表示される。
<a href="{{ route('organizaition.show') }}"></a>
組織の詳細画面にアクセスを行う為、今回は一覧画面に名前付きルートを使用したリンク先に遷移するコードを記載しました。(ヘッダーやメニュータブに設定でもOK)
ちなみにURLの後ろに『/organization/1』、『/organization/2』、『organization/3』と直接URLに入力をしても詳細画面が表示され確認する事ができます。