Kelas sasaran tidak wujud. Selepas menamakan semula pengawal dan model
P粉691958181
P粉691958181 2024-01-16 17:26:39
0
1
363

Apabila saya memulakan projek di Laravel, saya mempunyai ReturnController. Tetapi disebabkan konvensyen penamaan, saya terpaksa menamakannya semula kepada OrderController. Saya menamakan semula pengawal dan model dan saya menjalankan semua php artisan cache:clear、php artisan route:cache、php artisan config:cache ... 等,但是当我尝试在 中创建订单时>viewsordersadd.blade.php(表单的操作是action="{{route('orders.store') }}")

Saya mendapat ralat目标类 [OrderController] 不存在。

Ini adalah web.php kandungan:

Route::get('/', function () {
    return view('welcome');
});

Route::resource('customers', 'CustomerController');

Route::resource('orders', 'OrderController');

Auth::routes();

Route::get('/home', [App\Http\Controllers\OrderController::class, 'showOrders'])->name('orders');

Route::get('/orders/create', [App\Http\Controllers\OrderController::class, 'create'])->name('orders.create');

Route::get('/orders', [App\Http\Controllers\OrderController::class, 'index']);

Apa yang saya terlepas? Bagaimanakah saya boleh membetulkannya sebelum menulis semula keseluruhan aplikasi dari awal dengan nama pengawal yang betul?

Petunjuk lain ialah, untuk menavigasi ke http://127.0.0.1:8000/home ,奇怪的是我必须添加行 use AppModelsOrderdalam OrderController.php untuk berfungsi...jadi inilah OrderController.php untuk membantu...

<?php

namespace App\Http\Controllers;
use App\Models\Order;
use App\Models\Customer;
use App\Models\Product;

use Illuminate\Http\Request;

class OrderController extends Controller
{
    /**
     * Display a listing of the resource.
     */
    public function index()
    {
        //
    }

    /**
     * Show the form for creating a new resource.
     */
    public function create()
    {
        $customers = Customer::all();
        $products = Product::all();
        return view('orders.add', compact('customers', 'products'));
    }

    /**
     * Store a newly created resource in storage.
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     */
    public function show(string $id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     */
    public function edit(string $id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     */
    public function update(Request $request, string $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(string $id)
    {
        //
    }

    public function showOrders()
    {
        $orders = Order::with(['customer', 'products'])->get();

        return view('home', compact('orders'));
    }
}

P粉691958181
P粉691958181

membalas semua(1)
P粉545956597

Dalam web.php dan bukannya:

Route::resource('customers', 'CustomerController');

Route::resource('orders', 'OrderController');

Penggunaan:

Route::resource('customers', App\Http\Controllers\CustomerController::class);
Route::resource('orders', App\Http\Controllers\OrderController::class);
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!