我正在使用Crinsane购物车,我试图将图像传递给购物车,但是 我有错误
参数5传递给Gloudemans \ Shoppingcart \ Cart :: add()必须是 类型数组,给定的字符串,调用 E:\ phalwalatheme \供应商\ laravel \框架的\ src \照亮的\ Support \外立面\ Facade.php 在第221行
CartController.php
public function addItem($id)
{
$products=Products::find($id);
Cart::add($id,$products->name, $products->image ,1,$products->price);
return back();
}
cart.blade.php
<td class="product-thumbnail">
<img src="{{url('images/product',$cartItem->image)}}" alt="product-thumbnail">
</td>
当我评论$products->image
时,一切正常。 img div
也在展示&#34; alt&#34;输出。我还使用了{{ $product->image}}
和array($products->image)
。但他们都没有工作。
答案 0 :(得分:1)
您的错误是Argument 5 passed to Gloudemans\Shoppingcart\Cart::add() must be of the type array, string given
这意味着它需要array()
并且您提供string
。
尝试如下:
Cart::add(array('id' => $id, 'name' => $products->name, 'qty' => 1, 'price' => $products->price, 'image' => $products->image));
要在cart.blade.php
文件中显示图片,请执行以下操作:
<img src="{{ asset('images/product/'. $cartItem->image) }}" alt="product-thumbnail">
希望这能解决你的问题!
答案 1 :(得分:0)
您应该使用array(),如:
public function addItem($id){
$products=Products::find($id);
Cart::add(array('id' => $id, 'name' => $products->name, 'qty' => 1,
'price' => $products->price, 'image' => $products->image));
return back();
}
<td class="product-thumbnail">
<img src="/images/product/{{$cartItem->image}}" alt="product-thumbnail">
</td>
确保$cartItem->image
是图像资源的链接
url第二个参数是一个数组,其中包含一个值,例如url('user/profile', [1]);
在laravel url中读取有关url帮助器的信息
答案 2 :(得分:0)
我认为你没有正确地通过Crinsane shopping Cart document
在最基本的表单中,您可以指定要添加到购物车的产品的ID,名称,数量和价格。
Cart::add('293ad', 'Product 1', 1, 9.99);
作为可选的第五个参数,您可以传递它选项,因此您可以添加具有相同ID的多个项目,但(例如)具有不同的大小。
Cart::add('293ad', 'Product 1', 1, 9.99, ['size' => 'large']);
所以你的代码应该是这样的:
Cart::add($id,$products->name,1,$products->price,['image' => $products->image]);
希望这会有所帮助。