【问题标题】:Undefined variable: product_status (View:未定义变量:product_status(查看:
【发布时间】:2019-08-17 12:14:59
【问题描述】:

他试图表明如果产品有货,那么它会显示有货,否则会显示缺货,但它会显示错误:

控制器:

   public function productdetail(Request $request, Product $product)
   {
    $product_status = Product::where('product_status',$product)->sum('product_status');
    return view('product.detail', compact('product'));
   }

刀片文件:

  <span class="s-text8 m-r-35">@if($product_status == 1) In Stock @else Out Of Stock @endif</span>

【问题讨论】:

  • 使用compact('product_status') 而不是compact('product')
  • 您使用了错误的var。像这样使用:return view('product.detail', compact('product_status'));

标签: laravel eloquent laravel-5.8


【解决方案1】:

您没有将product_status 变量发送到视图。像这样使用

return view('product.detail', compact('product','product_status'));

你的product_status 变量有什么价值吗?我对此表示怀疑。试试dd 看看它是否有任何东西。

【讨论】:

  • hi 错误已删除,product_status 是 db 列的名称,其所有值均为 1,但显示缺货,您能否告诉我,如果 db 中的值为 1,我想显示库存如果值为 0 则缺货
  • 那么你不需要在你的控制器中做任何事情。在视图中使用只需使用@if($product-&gt;product_status == 1) In Stock @else Out Of Stock @endif
【解决方案2】:

Q) product_status 是 db 列的名称,它的所有值都是 1,但它显示缺货,你能告诉我,如果 db 中的值为 1,如果值为 0,那么我想显示库存库存

Ans) 在这里您应该检查大于等于 1 的条件 您只检查 ==1 所以如果 sum 大于 1 那么它也将转到 else 部分....

 @if($product->product_status >=1) 
    {{" in stock"}}
@else
 {{"Out Of Stock"}}
 @endif

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-19
    • 2019-11-07
    • 2019-11-25
    • 2019-11-07
    • 1970-01-01
    • 2019-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多