我正在使用名为Gloudemans \ Shoppingcart的购物车; (有关购物车的更多信息:https://github.com/Crinsane/LaravelShoppingcart),我在购物车中存储了许多变量,其中之一是产品表中的ID,我使用购物车在Blade视图中显示了存储在购物车中的商品,但我不想显示产品id显示产品名称,但不能在购物车中使用leftjoin,因为它说方法leftjoin不存在。
控制器:
$cartContents=Cart::Content();
$products= Product::all();
刀片视图:
@foreach($cartContents as $cartContent)
{{$cartContent->id}} // here I want to show product name not product id
@endforeach
产品型号:
protected $table="products";
protected $fillable=[
'category_id',
'storeinfo_id',
'product_price',
'product_name',
'product_details',
'product_unitsize',
'product_unitsizelast',
'product_unitname',
'product_unittext',
'product_unitserve',
'product_image',
'show'
];
购物车:
Cart::add([
'id' => $request->cartproductid,
'name' =>$request->special,
'qty' => $request->cart_quantity,
'price' => $request->cart_price,
'name' =>$request->special,
'options' =>
[
'size' =>$request->cart_size,
'storeinfo_id' =>$request->storeinfo_id,
'serve' => $request->cart_serve,
]
答案 0 :(得分:0)
这在文档中很清楚。
跟随链接https://github.com/Crinsane/LaravelShoppingcart#example
只需在控制器中使用
$cartContents=Cart::Content();
刀片式服务器
@foreach($cartContents as $row)
<tr>
<td>
<p><strong>{{$row->name }}</strong></p>
</td>
</tr>
@endforeach
答案 1 :(得分:0)
来自文档:
因为可以直接访问 CartItem中的模型是否可以将模型与 购物车中的物品。假设您有一个产品模型 应用。使用associate()方法,您可以告诉购物车 购物车中的一个商品与产品模型相关联。
这样,您可以直接从CartItem访问模型!
可以通过CartItem的model属性访问模型。
如果您的模型实现了Buyable接口并且您使用了模型 将该商品添加到购物车中,它将自动关联。
因此,您必须关联购物车中的模型,甚至更好的是,在该模型上实现Buyable接口。 这是他们文档中的示例:
// First we'll add the item to the cart.
$cartItem = Cart::add('293ad', 'Product 1', 1, 9.99, ['size' => 'large']);
// Next we associate a model with the item.
Cart::associate($cartItem->rowId, 'Product');
// Or even easier, call the associate method on the CartItem!
$cartItem->associate('Product');
// You can even make it a one-liner
Cart::add('293ad', 'Product 1', 1, 9.99, ['size' => 'large'])->associate('Product');
// Now, when iterating over the content of the cart, you can access the model.
foreach(Cart::content() as $row) {
echo 'You have ' . $row->qty . ' items of ' . $row->model->name . ' with
description: "' . $row->model->description . '" in your cart.';
}