为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我会收到此错误:未定义的变量:产品

为什么我会收到此错误:未定义的变量:产品

PHP
幕布斯6054654 2022-07-02 15:52:04
我是 Laravel 的新手,在构建项目时我遇到了错误:未定义变量:产品(查看:C:\xampp\htdocs\basic\resources\views\mycart.blade.php)检查错误以修复后仍然存在,我希望你们能帮助我。提前致谢mycart刀片代码:@extends('layouts.app')@section('content')@if(Session::has('cart'))<div class="container">    <b class="text-uppercase" style="color: darkgrey; font-size: 18px;">Item(s)</b><div class="row">            @foreach($products as $products)                <div class="col-sm-12 col-lg-2" style="padding-bottom: 12%;">                                            <div class="cart-item-container">                            <a href="ads/{{strtolower(str_replace(" ","-",$product->name))}}"><div class="item-image"><img src="{{asset($product->image)}}" class="item-image">                            </div>                            <div class="item-tag" >                                <p class="h5 text-capitalize">{{$product->name}}</p></a>                                <p class="h4">GH¢ {{$product->price}}</p>                                <div class="form-group" style="float: left; width: 25%;">                                <select class="form-control" id="exampleFormControlSelect1">      <option>1</option>      <option>2</option>      <option>3</option>      <option>4</option>      <option>5</option>      <option>6</option>      <option>7</option>      <option>8</option>      <option>9</option>      <option>10</option>    </select>  </div>    <div style="float: right;"><ul class="list-inline">                                <li><a href="#" title="Save item for future use"><p class="text-primary text-capitalize"><span class="glyphicon glyphicon-heart-empty"></span></span></a></li>                                <li><a href="#" title="Remove item from cart"><p class="text-muted text-capitalize"><span class="glyphicon glyphicon-trash"></span></p></a></li>                            </ul>                        </div>                            </div>                          </div>                  </div>            @endforeach</div>
查看完整描述

2 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

在您的getCart()方法中,如果有Session变量,您将返回产品cart。但是,如果没有 Session cart variable,您将返回没有附加任何变量的视图:


if (!Session::has('cart')) {

    return view('mycart');

}

要修复刀片视图中缺少变量的错误,请定义一个空值$products并将其与控制器中的视图一起返回:


if (!Session::has('cart')) {

    $products = [];

    $totalPrice = 0;

    return view('mycart', compact('products', 'totalPrice));

注意 - 你会遇到同样的问题,$totalPrice所以我为该变量定义了 0 以防止错误。


查看完整回答
反对 回复 2022-07-02
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

<?php

  

namespace App\Http\Controllers;

  

use App\Product;

use Illuminate\Http\Request;

  

class ProductController extends Controller

{

    /**

     * Display a listing of the resource.

     *

     * @return \Illuminate\Http\Response

     */

    public function index()

    {

        $products = Product::latest()->paginate(5);

  

        return view('products.index',compact('products'))

            ->with('i', (request()->input('page', 1) - 1) * 5);

    }

   

    /**

     * Show the form for creating a new resource.

     *

     * @return \Illuminate\Http\Response

     */

    public function create()

    {

        return view('products.create');

    }

  

    /**

     * Store a newly created resource in storage.

     *

     * @param  \Illuminate\Http\Request  $request

     * @return \Illuminate\Http\Response

     */

    public function store(Request $request)

    {

        $request->validate([

            'name' => 'required',

            'detail' => 'required',

        ]);

  

        Product::create($request->all());

   

        return redirect()->route('products.index')

                        ->with('success','Product created successfully.');

    }

   

    /**

     * Display the specified resource.

     *

     * @param  \App\Product  $product

     * @return \Illuminate\Http\Response

     */

    public function show(Product $product)

    {

        return view('products.show',compact('products'));

    }

   

    /**

     * Show the form for editing the specified resource.

     *

     * @param  \App\Product  $product

     * @return \Illuminate\Http\Response

     */

    public function edit(Product $product)

    {

        return view('products.edit',compact('product'));

    }

  

    /**

     * Update the specified resource in storage.

     *

     * @param  \Illuminate\Http\Request  $request

     * @param  \App\Product  $product

     * @return \Illuminate\Http\Response

     */

    public function update(Request $request, Product $product)

    {

        $request->validate([

            'name' => 'required',

            'detail' => 'required',

        ]);

  

        $product->update($request->all());

  

        return redirect()->route('products.index')

                        ->with('success','Product updated successfully');

    }

  

    /**

     * Remove the specified resource from storage.

     *

     * @param  \App\Product  $product

     * @return \Illuminate\Http\Response

     */

    public function destroy(Product $product)

    {

        $product->delete();

  

        return redirect()->route('products.index')

                        ->with('success','Product deleted successfully');

    }


查看完整回答
反对 回复 2022-07-02
  • 2 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信