iT邦幫忙

第 11 屆 iThome 鐵人賽

1

本系列文的環境狀態,可點擊此連結後花園環境參考

如果這次做的留言版有想跟着一起做的看倌,因爲有用到之前的設定,建議回顧下列這篇連結的內容:
✾後花園D23✾-種花囉! Part 3( 會員系統 CRUD 之 Route 及 Middleware 設定 )

這禮拜比較忙,可能會偏向先放程式碼跟成果圖,較少解釋涵義或關係,如果想看較詳細版本的看倌,建議或許可下禮拜再來看。

繼續來看看怎麼完成這個 Stone 留言版的功能吧!

建立 StoneController

在 Terminal 輸入指令

$ php artisan make:controller StoneController -r

路徑:app/Http/Controllers/StoneController.php
填入程式碼

<?php

namespace App\Http\Controllers;

use App\Stone;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;


class StoneController extends Controller
{
   
    public function store(Request $request)
    {

        $request->validate([
            'title' => 'required|string|min:2|max:200',       // 標題要求格式或限制
            'content' => 'required|string|min:2|max:1000'     // 內文要求格式或限制
        ]);


        $flower_id = Auth::user()->id;     // Auth::user()->使用者某欄資料

        $Create=Stone::create([
            'title' => $request['title'],
            'content' => $request['content'],
            'flower_id' => $flower_id,
        ]);

        $flower_name= Auth::user()->name;
        $msg = $request->only(['title','content']);    


        if ($Create)
            return response([$flower_name, $msg]);

    }

}

路由設定及 POSTMAN 測試

路徑:routes/api.php

Route::group(['middleware' => ['auth:flower']], function(){
    Route::post('/stone', 'StoneController@store');
});

POSTMAN 測試方式

api 位址參照:BackGarden.test/api/stone
api 位址依據你自己設置的,可能會有所不同,上面僅供參考。

步驟 1 ~ 5

步驟 6 ~ 10

參考連結:

❁ Laravel 客製化使用者驗證功能-增加使用者資料欄位
❁ Ken 大 - 貼文 ( Resource Controller )
❁ Ken 大 - 貼文 ( Controller -- store )


上一篇
✾後花園D44✾ Flower 留言版 CRUD Part 1( 會員留言板 model 及 migration )
下一篇
✾後花園D46✾ Flower 留言版 CRUD Part 3( 會員留言板 顯示所有文章及個人文章 Controller )
系列文
在後花園遇見LP,Laravel及PHP的甜蜜糾纏,火熱上映49
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言