iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 24
0
自我挑戰組

來用Laravel做點什麼吧系列 第 24

D24 超簡易版FB - CRUD(2)

  • 分享至 

  • xImage
  •  

今天做的是Read,顯示Create的文章!

這是View:

// home.blade.php
@if (isset($posts))
    <div class="card">
        <div class="card-header">{{ Auth::user()->name }}</div>
        @foreach($posts as $post)
        <div class="card-body">
            <p>{{ $post->content }}</p>
        </div>
        @endforeach
    </div>
@endif

名字的部分本來應該從使用者名單裡找,但我們暫時還沒有好友之類的功能所以先用Auth::user()->name,它會去找登入的使用者的名稱。

我們希望一登入帳號,home.blade.php載入的時候就要顯示過去發表過的東西,所以不只改UserController.php,還要動到預設的HoneController.php

首頁預設是return view('home'),要改為呼叫UserController並使用它身上的show()方法:

// HomeController.php
public function index()
{
    return app('App\Http\Controllers\UserController')->show();
}

這個方法一樣是會回傳Home View,不過我們要加入資料庫的資料:

// UserController.php
public function show()
{
    $post = Post::orderBy('id', 'DESC')->get();
    return view('home')->with('posts', $post);
}

Post::orderBy('id', 'DESC')會使用Post Model去查詢,回傳的資料是依照id做降冪排列,這樣顯示出來的文章才會新的在上方。

攜帶資料的方法有三種:

// 第一種
view('home')->with('post', $post);

// 第二種
view('home', ['post' => $post]);

// 第三種
view('home', compact('post'));

我是比較喜歡第一種XDDDDDDDDD

現在來登入發文看看。


再發出去的內容也依照新到舊的順序排好了!


上一篇
D23 超簡易版FB - CRUD(1)
下一篇
D25 超簡易版FB - CRUD(3)
系列文
來用Laravel做點什麼吧30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言