validate([ 'product_id' => 'required|exists:products,id', 'last_price' => 'nullable|numeric|min:0', ]); // 檢查是否已存在 if ($vendor->products()->where('product_id', $validated['product_id'])->exists()) { return redirect()->back()->with('error', '該商品已在供貨清單中'); } $vendor->products()->attach($validated['product_id'], [ 'last_price' => $validated['last_price'] ?? null ]); return redirect()->back()->with('success', '供貨商品已新增'); } /** * 更新供貨商品資訊 (Update Pivot) */ public function update(Request $request, Vendor $vendor, $productId) { $validated = $request->validate([ 'last_price' => 'nullable|numeric|min:0', ]); $vendor->products()->updateExistingPivot($productId, [ 'last_price' => $validated['last_price'] ?? null ]); return redirect()->back()->with('success', '供貨資訊已更新'); } /** * 移除供貨商品 (Detach) */ public function destroy(Vendor $vendor, $productId) { $vendor->products()->detach($productId); return redirect()->back()->with('success', '供貨商品已移除'); } }