15-4
將購物項目寫入資料庫
- 我們之前有修改路由
/專案/routes/web.php
,讓加入購物車這動作用CartController
控制器的store
方法來實施:
Route::post('/cart/store', 'CartController@store')->name('cart.store');
- 所以,接著我們得編輯控制器
/專案/app/Http/Controllers/CartController.php
,修改 store
方法,由於我們是用ajax方式,所以,基本上執行完,不用做任何動作,傳回個空陣列即可。
public function store(Request $request)
{
$cart = new Cart;
$cart->user_id = $request->user()->id;
$cart->product_id = $request->product_id;
$cart->amount = $request->amount;
$cart->save();
return [];
}
- 記得在上方告知要使用
App\Cart
模型
<?php
namespace App\Http\Controllers;
use App\Cart;
use Illuminate\Http\Request;
$request
就是使用者輸入的內容,以物件方式存在。詳情可參考:https://learnku.com/docs/laravel/5.8/requests/3894#accessing-the-request
Cart
則是Eloquent Model,也就是用來操作cart資料表的模型。儲存部份可參考:https://learnku.com/docs/laravel/5.8/eloquent/3931#inserting-and-updating-models
- 接著可以試試看是否能儲存購物囉!(請暫時先到資料庫去看結果)