YuHo のブログ

Laravel, PHP, JavaScript

Laravel 5.6 でブログサイトを制作する #6

posts.show Blade の Card Header に投稿と更新の日時を表示する

<div class="card-header">
    <div class="row">
        <div class="col">
            {{ $post->title }}</div>
    </div>
    <div class="row">
        <div class="col">{{ $post->created_at }}</div>
        <div class="col">{{ $post->updated_at }}</div>
    </div>
</div>

posts.show Blade の posts.edit へのリンクを認証ユーザーが記事の著者だった場合に表示する

<?php

public function show(Post $post)
{
    $author = $post->user_id == Auth::id() ? true : false;

    return view('posts.show', ['post' => $post, 'author' => $author]);
}
<div class="card-body">
    <div class="row"><div class="col">{{ $post->content }}</div></div>
    <div class="row">
        <div class="col">
            @if($author)
            <a href="{{ route('posts.edit', ['id' => $post->id]) }}">EDIT</a>
            @endif
        </div>
    </div>
</div>

記事の著者名と users.show へのリンクを貼る

<div class="row">
    <div class="col">
        <a href="{{ route('users.show', ['id' => $post->user->id]) }}">{{ $post->user->name }}</a>
    </div>
</div>