我必须从购物车中删除产品,但我遇到了以下错误:
尝试获取非对象的属性“id”(查看:/home/acer/test/project_basket/basket/resources/views/cart.blade.php)。
我也尝试以不同的方式,...删除会话,但我不知道似乎有点困难,因为我只需要删除一个产品。对于购物车中添加的每一个相同的产品,我都会创建徽章,每次都会增加一。
购物车.blade.php
@foreach($products as $product)
<tr>
<td><img src="https://via.placeholder.com/400x200/" class="img-cart"></td>
<td><strong>{{ $product['item']['title'] }}</strong></td>
<td>
<form class="form-inline">
<input class="form-control" type="text" value="{{ $product['qty'] }}" style="margin-right: 20px" >
<!--<button rel="tooltip" class="btn btn-default"><i class="fa fa-pencil"></i></button>-->
<form method="POST" action="{{ route('remove.item', $product->id) }}" >
@csrf
{{ method_field('DELETE') }}
<input type="submit" value="Delete" onclick="return confirm('Are you sure?')" class="btn btn-primary" />
</form>
</form>
</td>
<td>${{ $product['price'] }}</td>
</tr>
@endforeach
产品控制器.php
<?php
namespace App\Http\Controllers;
use App\Cart;
use App\Product;
use Illuminate\Http\Request;
use Session;
class ProductController extends Controller
{
/**
*@return \Illuminate\Http\Response
*/
public function index()
{
$products = Product::all();
return view('home', ['products'=> $products]);
}
public function getAddToCart(Request $request, $id)
{
$product = Product::find($id);
$oldCart = Session::has('cart') ? Session::get('cart') : null;
$cart = new Cart($oldCart);
$cart->add($product, $product->id);
$request->session()->put('cart', $cart);
return redirect()->route('home');
}
噜噜哒
倚天杖
达令说