Die Zielklasse existiert nicht. Nach dem Umbenennen von Controller und Modell
P粉691958181
P粉691958181 2024-01-16 17:26:39
0
1
429

Als ich das Projekt in Laravel startete, hatte ich einen ReturnController. Aufgrund der Namenskonvention musste ich es jedoch in OrderController umbenennen. Ich habe den Controller und das Modell umbenannt und alle ausgeführt php artisan cache:clear、php artisan route:cache、php artisan config:cache ... 等,但是当我尝试在 中创建订单时>viewsordersadd.blade.php(表单的操作是action="{{route('orders.store') }}")

Ich habe einen Fehler erhalten目标类 [OrderController] 不存在。

Das ist der web.php Inhalt:

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']);

Was habe ich verpasst? Wie kann ich das beheben, bevor ich die gesamte Anwendung mit den richtigen Controller-Namen von Grund auf neu schreibe?

Ein weiterer Hinweis ist, um zu http://127.0.0.1:8000/home ,奇怪的是我必须添加行 use AppModelsOrderin OrderController.php zu navigieren, um zu funktionieren... also hier ist OrderController.php, um zu helfen...

<?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

Antworte allen(1)
P粉545956597

在 web.php 中,而不是:

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

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

用途:

Route::resource('customers', App\Http\Controllers\CustomerController::class);
Route::resource('orders', App\Http\Controllers\OrderController::class);
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage