0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

showメソッドの実装

Last updated at Posted at 2022-01-04

###詳細画面の表示

店舗や組織、ユーザー、投稿等の詳細画面を作成時によく使われるメソッドとして
『showアクションメソッド』が使用されます。

どのように使用するのか、ある組織の詳細画面を表示するという設定でコードの一例を紹介させていただきます。

###routes

web.php
Route::get('/organization/{organization}', 'UserController@show')->name('organization.show');

/organization/{organization}にアクセスをすると、UserContoroller内のshowメソッドの処理が行われるルーティングが設定されております。名前付きルートで記載されている為、アクセス時にはView側に{{ route('organizaition.show') }}を記載する必要がある事が分かります。

###Controller

UserController.php

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

detailOrganization.blade.php
<p>組織名{{ $user->name }}</p>
<p>電話番号{{ $user->tell }}</p>
<p>住所{{ $user->address }}</p>
<p>外観図<img src="{{ $user->image }}" alt=""></p>

組織の詳細画面に遷移すると、nameカラムから組織名、tellカラムから電話番号、addressカラムから住所、imageカラムから外観図が取得されブラウザに表示される。

index.blade.php
<a href="{{ route('organizaition.show') }}"></a>

組織の詳細画面にアクセスを行う為、今回は一覧画面に名前付きルートを使用したリンク先に遷移するコードを記載しました。(ヘッダーやメニュータブに設定でもOK)
ちなみにURLの後ろに『/organization/1』、『/organization/2』、『organization/3』と直接URLに入力をしても詳細画面が表示され確認する事ができます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?