试图找出为什么我的 foreach 导入不起作用
Trying to figure out why my foreach import doesnt work
我的观点是:
@foreach($cart_item->where('shopping_cart_id','37') as $cart)
<li class="clearfix">{{$cart->prize_id}}</li>
@endforeach
有人可以帮我弄清楚我的 foreach 循环有什么问题吗?
我已经归结为只是尝试基本上显示 ID,但它给了我一个 php 错误。
"Undefined variable cart_item",但我确实在购物车控制器上定义了变量:
$cart_item = ShoppingCartItem::where('shopping_cart_id',$cookie->cart_id)->where('prize_id',$_POST['prize_id'])->first();
根据您编辑的问题,解决方案是将 $cart_item
传递给您的视图。
完成后,您可以执行以下操作:
@foreach($cart_item as $cart)
您目前的操作不是推荐的操作方式。这个逻辑应该在你的控制器而不是你的视图中。
您必须将该变量传递给视图。
我猜它是 Laravel 所以在调用你的视图时将它添加到 comapct 函数
view('viewname', compact('cart_item'))
并且像其他人建议的那样不要这样做,最好在该模型中定义一个范围函数来为您完成。
起初你是在视图上添加控制器逻辑,这确实是一种糟糕的做法。
你的问题看起来像你的控制器行:
$cart_item = ShoppingCartItem::where('shopping_cart_id',$cookie->cart_id)->where('prize_id',$_POST['prize_id'])->first();
返回 NULL,这意味着在您的查询中找不到 ShoppingCartItem,或者您只是没有将变量发送到视图。
在您看来,您可以像这样控制 $cart_item 变量是否存在:
@if(isset($cart_item))
@foreach($cart_item->where('shopping_cart_id','37') as $cart)
<li class="clearfix">{{$cart->prize_id}}</li>
@endforeach
@endif
如果未设置 $cart_item 变量,这将防止将来出现错误。
我觉得你应该这样做
$cart_item = ShoppingCartItem::where('shopping_cart_id',$cookie->cart_id)->where('prize_id',$_POST['prize_id'])where('shopping_cart_id','37')->get();
然后在您的视图中使用它
@foreach($cart_item as $cart)
<li class="clearfix">{{$cart->prize_id}}</li>
@endforeach
我的观点是:
@foreach($cart_item->where('shopping_cart_id','37') as $cart)
<li class="clearfix">{{$cart->prize_id}}</li>
@endforeach
有人可以帮我弄清楚我的 foreach 循环有什么问题吗?
我已经归结为只是尝试基本上显示 ID,但它给了我一个 php 错误。
"Undefined variable cart_item",但我确实在购物车控制器上定义了变量:
$cart_item = ShoppingCartItem::where('shopping_cart_id',$cookie->cart_id)->where('prize_id',$_POST['prize_id'])->first();
根据您编辑的问题,解决方案是将 $cart_item
传递给您的视图。
完成后,您可以执行以下操作:
@foreach($cart_item as $cart)
您目前的操作不是推荐的操作方式。这个逻辑应该在你的控制器而不是你的视图中。
您必须将该变量传递给视图。 我猜它是 Laravel 所以在调用你的视图时将它添加到 comapct 函数
view('viewname', compact('cart_item'))
并且像其他人建议的那样不要这样做,最好在该模型中定义一个范围函数来为您完成。
起初你是在视图上添加控制器逻辑,这确实是一种糟糕的做法。
你的问题看起来像你的控制器行:
$cart_item = ShoppingCartItem::where('shopping_cart_id',$cookie->cart_id)->where('prize_id',$_POST['prize_id'])->first();
返回 NULL,这意味着在您的查询中找不到 ShoppingCartItem,或者您只是没有将变量发送到视图。
在您看来,您可以像这样控制 $cart_item 变量是否存在:
@if(isset($cart_item))
@foreach($cart_item->where('shopping_cart_id','37') as $cart)
<li class="clearfix">{{$cart->prize_id}}</li>
@endforeach
@endif
如果未设置 $cart_item 变量,这将防止将来出现错误。
我觉得你应该这样做
$cart_item = ShoppingCartItem::where('shopping_cart_id',$cookie->cart_id)->where('prize_id',$_POST['prize_id'])where('shopping_cart_id','37')->get();
然后在您的视图中使用它
@foreach($cart_item as $cart)
<li class="clearfix">{{$cart->prize_id}}</li>
@endforeach