当我在Laravel开始这个项目时,我有一个ReturnController。但由于命名约定,我不得不将其重命名为OrderController。我重命名了控制器和模型,我运行了所有的php artisan cache:clear, php artisan route:cache, php artisan config:cache ...
等,但当我试图在views\orders\add.blade.php
中创建订单时(表单的操作是action="{{ route('orders.store') }}"
)
我得到错误Target class [OrderController] does not exist.
以下是web.php
内容:
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']);
我错过了什么?在我用正确的控制器名称从头重写整个应用程序之前,我如何解决这个问题?
另一个线索是,为了导航到http://127.0.0.1:8000/home
,我不得不在OrderController中添加use App\Models\Order
行。php为了工作这里是OrderController。php是有帮助的。..
<?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'));
}
}
1条答案
按热度按时间cxfofazt1#
在web.php中,而不是:
用途: