我的 Blade 文件中出现 Laravel 错误,即未定义的 $products?

问题描述 投票:0回答:1
 @foreach($products as $products)
        <form method="POST" action="{{ route('products.update', $products->id) }}">
            @csrf
            @method('PUT')
    
            <div class="form-group">
                <label for="name">Name:</label>
                <input type="text" name="name" id="name" value="{{ $products->name }}" required>
            </div>
    
            <div class="form-group">
                <label for="description">Description:</label>
                <textarea name="description" id="description" required>{{ $products->description }}</textarea>
            </div>
    
            <div class="form-group">
                <label for="price">Price:</label>
                <input type="number" name="price" id="price" value="{{ $products->price }}" step="0.01" required>
            </div>
    
            <div class="form-group">
                <label for="design">Design:</label>
                <select name="design" id="design" required>
                    <option value="design1" {{ $products->design === 'design1' ? 'selected' : '' }}>Design 1</option>
                    <option value="design2" {{ $products->design === 'design2' ? 'selected' : '' }}>Design 2</option>
                    <option value="design3" {{ $products->design === 'design3' ? 'selected' : '' }}>Design 3</option>
                    <!-- Add more options as needed -->
                </select>
            </div>
    
            <!-- Add more fields if necessary -->
    
            <button type="submit">Update</button>
        </form>
        @endforeach

这是我的刀片结构,我只想使用表单更新产品数据,但它捕获了未定义的 $products 错误。 PS:我还是 Laravel 的新手

laravel eloquent laravel-blade
1个回答
0
投票

看起来您使用的是 $products(带有“s”)。如果您在这里使用单数形式只处理一种产品,会更容易理解。我认为你在控制器上做得正确并使用 $product 而不是 $products。所以我想这只是一个打字错误

© www.soinside.com 2019 - 2024. All rights reserved.