本系列文的環境狀態,可點擊此連結後花園環境參考
如果這次做的留言版有想跟着一起做的看倌,因爲有用到之前的設定,建議回顧下列這篇連結的內容:
✾後花園D23✾-種花囉! Part 3( 會員系統 CRUD 之 Route 及 Middleware 設定 )
這禮拜比較忙,可能會偏向先放程式碼跟成果圖,較少解釋涵義或關係,如果想看較詳細版本的看倌,建議或許可下禮拜再來看。
繼續來看看怎麼完成這個 Stone 留言版的功能吧!
在 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]);
}
}
路徑:routes/api.php
Route::group(['middleware' => ['auth:flower']], function(){
Route::post('/stone', 'StoneController@store');
});
api 位址參照:BackGarden.test/api/stone
api 位址依據你自己設置的,可能會有所不同,上面僅供參考。
步驟 1 ~ 5
步驟 6 ~ 10
參考連結:
❁ Laravel 客製化使用者驗證功能-增加使用者資料欄位
❁ Ken 大 - 貼文 ( Resource Controller )
❁ Ken 大 - 貼文 ( Controller -- store )