Laravelのviewファイルにて、特定の場合は返信機能を表示させない処理をしたい。
解決したいこと
Laravelのviewファイルにて、特定の場合は返信機能を表示させない処理をしたい。
また、リンク先でのみ返信機能を表示させたい。
詳細)
現在、LaravelにてTwitterのようなアプリを作っています。
返信機能を個別ページのみに表示させたいのですが、投稿一覧のページにも出力されてしまっているので、投稿一覧のページの方には出力させない処理をしたいです。
なお、投稿の一覧画面と個別ページのbladeファイルが一緒です。
@if()を使えば、できそうな気がするのですが、()内をどのように指定すれば、うまくいくのかわからず、できませんでした。
解決方法を教えて下さい。
index.blade.php (一番下のdivの@if(?)のところです。)
<div class="mx-auto w-50 ">
@foreach($records as $record)
<div class="card my-5">
<!-- 名前と日付 -->
<div class="bg-dark bg-opacity-25 row mx-0 pt-3">
<div class="icon col-md-2">
<img src="" alt="img">
</div>
<div class="col-md">
<h4> {{ $record->name }} </h4>
<p><small>{{ $record->date }}</small></p>
</div>
<div class="col-md-1">
<!-- 自分の投稿のみ編集ボタンが出力されるようにする -->
@if( $record->user_id == \Auth::user()->id )
<a href="/edit/{{ $record->id }}" class="text-decoration-none text-black">
<i class="fa fa-bars" aria-hidden="true"></i>
</a>
@endif
</div>
</div>
<!-- 記録項目 -->
<div class="row mx-0 my-3">
<div class="col-md my-2">
<p class="border-bottom border-dark">体重 :{{ $record->weight }}</p>
</div>
<div class="col-md my-2">
<p class="border-bottom border-dark">カロリー収支 :{{ $record->sum }}</p>
</div>
<div class="my-2">
<p class="border-bottom border-dark">今日の活動について :</p>
<p class="border-bottom border-dark">{{ $record->memo }}</p>
</div>
</div>
<!-- Likeボタンとリプライボタン -->
<div class="bg-dark bg-opacity-10">
<p class="float-end px-5 pt-3">
<a href="" class="m-2 p-2 text-decoration-none">いいね!</a>
<a href="/index/{{ $record->id }}" class="m-2 p-2 text-decoration-none">コメント</a>
</p>
</div>
</div>
<!-- 返信機能 indexページには表示しない、<a>コメント</a>で飛ぶ先の個別ページのみに表示したい -->
@if(?)
<div class="card my-2">
<div class="row bg-dark bg-opacity-25 row mx-0 py-3">
<h4 class="col-md-2"> picture </h4>
<h4 class="col-md"> {{ Auth::user()->name }} </h4>
</div>
<div class="my-5 mx-3">
<textarea name="reply" id="" cols="30" rows="5" class="form-control"></textarea>
<input type="submit" name="submit" value="送信" class="form-control w-25 float-end bg-primary text-white mt-3">
</div>
</div>
@endif
@endforeach
</div>
自分で試したこと
①if(!('index.blade.php'))を試したところ、投稿一覧と個別ページの両方から消えました。
②if(!('http://localhost:8888/index')) とURLを絶対パス(?)で指定してみましたが、①同様に両方のページから消えました。個別ページは(http://localhost:8888/index/番号) になるのでいけるかと思ったのですが、ダメでした。
何か良い解決方法がありましたら、ご教示いただけますと幸いです。
0