Laravel报错:Class 'App\Http\Controllers\Admin\Quotes'未找到 求助
报错排查与解决:Class "App\Http\Controllers\Admin\Quotes" not found
这个错误的核心原因是模型类名拼写不一致,导致Laravel错误地在当前控制器命名空间(App\Http\Controllers\Admin)下寻找不存在的Quotes类,而非你引入的App\Models\Qoutes模型。
具体问题点
你在代码顶部引入的模型是Qoutes:
use App\Models\Qoutes;
但在index方法中调用的却是拼写不同的Quotes:
$qoutes = Quotes::all();
解决办法
两种修正方式选其一即可:
方式1:修正调用处的拼写
将index方法中的Quotes::all()改为Qoutes::all(),与引入的模型类名保持一致:
public function index() { $page_title = 'Qoutes Manager'; $qoutes = Qoutes::all(); return view('admin.qoutes.index', compact('page_title', 'qoutes')); }
同时确保app/Models/Qoutes.php文件中的类名确实是Qoutes:
namespace App\Models; use Illuminate\Database\Eloquent\Model; class Qoutes extends Model { // 模型内容 }
方式2:统一为标准拼写(推荐)
英文中“报价”的正确拼写是quotes,建议统一修正模型命名以符合规范,避免后续混淆:
- 将
app/Models/Qoutes.php重命名为Quotes.php - 修改模型文件中的类名为
Quotes:namespace App\Models; use Illuminate\Database\Eloquent\Model; class Quotes extends Model { // 模型内容 } - 更新控制器中的use语句:
use App\Models\Quotes; - 替换代码中所有的
Qoutes为Quotes,包括index方法和remove方法中的调用:// index方法 $qoutes = Quotes::all(); // remove方法 $qoutes = Quotes::findOrFail($request->qoutes);
内容的提问来源于stack exchange,提问作者Sibusiso
相关产品推荐
相关产品推荐

