実現したいこと
投稿(post)のshowページを・ログイン済みユーザー・ログイン済みの自身のユーザー・ログインしていないユーザーの3つに分けて、表示を制限したいのですが、ログイン済みの自身のユーザーのif文の書き方が分かりません。
railsでいうcurrent_userのような制限は出来るのでしょうか?
該当のソースコード
posts/show.blade.php
1@extends('layouts.app') 2 3@section('content') 4 @auth ←ログインユーザーか違うかのif文 5 <div class="profile"> 6 <div class="profile-header"> 7 <p>{{ $post['created_at'] }}</p> 8 </div> 9 <div class="profile-top"> 10 <p><img src="{{ asset('storage/' . $post['image']) }}" width="300"></p> 11 <div class="profile-name"> 12 @if($post->gender == 'オス') 13 <h2>{{ $post['name'] }}くん({{ $post['age'] }}歳)♂</h2></br> 14 @else 15 <h2>{{ $post['name'] }}ちゃん({{ $post['age'] }}歳)♀</h2> 16 @endif 17 </div> 18 <div class="profile-breed"> 19 <h4>種類</h4> 20 <h4>{{ $post['breed'] }}</h4></br> 21 </div> 22 </div> 23 <div class="profile-body"> 24 <h4>備考</h4> 25 <p>{!! nl2br(e($post->explanation)) !!}</p> 26 </div> 27 <div class="profile-btn"> 28 <button type="button" class="btn btn-primary" onClick="history.back()">戻る</button> 29 <form onsubmit="return confirm('本当に削除しますか?')" action="{{ route('post.destroy', $post->id) }}" method="POST"> 30 @csrf 31 @method('delete') 32 <button type="submit" class="btn btn-danger">削除</button> 33 </form> 34 </div> 35 </div> 36 @else 37 <div class="profile"> 38 <div class="profile-header"> 39 <p>{{ $post['created_at'] }}</p> 40 </div> 41 <div class="profile-top"> 42 <p><img src="{{ asset('storage/' . $post['image']) }}" width="300"></p> 43 <div class="profile-name"> 44 @if($post->gender == 'オス') 45 <h2>{{ $post['name'] }}くん({{ $post['age'] }}歳)♂</h2></br> 46 @else 47 <h2>{{ $post['name'] }}ちゃん({{ $post['age'] }}歳)♀</h2> 48 @endif 49 </div> 50 </div> 51 <div class="profile-body"> 52 <h4>備考</h4> 53 <p>{!! nl2br(e($post->explanation)) !!}</p> 54 </div> 55 <div class="profile-btn"> 56 <button type="button" class="btn btn-primary" onClick="history.back()">戻る</button> 57 </div> 58 </div> 59 @endauth 60@endsection
試したこと
調べたのですが、うまく検索に引っ掛からず、有力な情報を検索できませんでした。
@authとは別で、controllerから自身のユーザーを取得して、ifで制限を掛けた方が良いのでしょうか?
補足情報(FW/ツールのバージョンなど)
php: 8.1.21
Laravel: 10.18.0

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。