【Laravel7】Viewで@ifを使い、ログインしているか判別して処理を変える方法
以下のように、auth::check()を使う。
<div class="mt-4 mb-4">
<!-- ログインしているときだけ、新規投稿ボタンを表示させる。 -->
@if(Auth::check())
<a href="{{ route('post.create') }}" class="btn btn-primary">
投稿の新規作成
</a>
@else
<p>ログインすると新規投稿できます。</p>
@endif
</div>
これだけだと、直接URLを入力すると新規投稿画面へ飛んでしまうので、コントローラでも以下の処理を記述しておくようにする。
PostsController.php
public function __construct()
{
// ログイン認証をかける。exceptに入れると、ログインしてなくても見れるようになる。
$this->middleware('auth')->except('index','show');
}
この記事が気に入ったらサポートをしてみませんか?