16-1
微調購物車的傳送方式
- 目前這個寫法其實會有個問題,因為我們只傳購物車資料到視圖,所以當購物車空無一物時,使用者的資料也會跟著無法傳送到視圖,換言之,當我們想抓出目前使用者地址(或相關資料時)時就會出現錯誤。
- 所以,其實可以換個更簡單的作法,只要傳送目前使用模型資料,因為
User
和Cart
也會有關聯,所以,其實只要送出目前使用者資料,裡面其實就包含購物車的內容了。
public function index(Request $request)
{
$user = $request->user();
return view('cart.index', compact('user'));
}
- 迴圈部份只要利用
$user->carts
就可以取得目前使用者的所有購物車資料
<h1>我的購物車</h1>
<table class="table table-striped">
<tr>
<th colspan=2>商品名稱</th>
<th nowrap class="text-right">商品單價</th>
<th nowrap class="text-center">購買數量</th>
<th nowrap class="text-right">小計</th>
<th>功能</th>
</tr>
@forelse($user->carts as $cart)