php 控制器不提供信息

问题描述 投票:0回答:1

我遇到一个问题,我需要存储在数据库中的产品列表才能显示在我的

start.blade.php
页面上,但显示错误:

未定义变量$products

这是我的全部代码:

start.blade.php:

@extends('layouts.app')

@section('content')
    <section class="product-section">
        <div class="product-list">
            <h1>Product List</h1>
            @forelse ($products as $product)
                <div class="product">
                    <p>{{ $product->name }}</p>
                    <p>{{ $product->weight }}</p>
                    <p>{{ $product->type }}</p>
                    <p>{{ $product->price }}</p>
                    <p>{{ $product->supplier }}</p>
                    <p>{{ $product->extra }}</p>
                    <p>{{ $product->amount }}</p>
                </div>
            @empty
                <p>No products found.</p>
            @endforelse
        </div>
    </section>
@endsection

web.php:

use App\Http\Controllers\ProductController;
Route::get('/start', [ProductController::class, 'index'])->name('logged.start');

ProductController.php:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Product;

class ProductController extends Controller
{
    public function index()
    {
        $products = Product::all();
        // Pass the products to the 'logged.start' view
        return view('logged.start', compact('products'));
    }
}

产品.php:

<?php
namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Product extends Model
{
    use HasFactory;

    protected $fillable = ['name', 'weight', 'type', 'price', 'supplier', 'extra', 'amount'];
}

有人可以帮忙看看我和机器人都找不到的修复吗?

我已经尝试了所有方法,从检查路线是否正确到制作新控制器,但没有任何方法可以使该列表出现在数据库中!

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

在您的控制器中,您将视图返回为logging.start,但您的start.blade.php文件可能位于resources/views文件夹中。

return view('start', compact('products'));
© www.soinside.com 2019 - 2024. All rights reserved.