Laravel项目报错:Call to undefined method App\Models\PDF::loadView()
解决Laravel中Call to undefined method App\Models\PDF::loadView()错误
问题根源
你在控制器中错误引入了App\Models\PDF自定义模型类,而非laravel-mpdf包提供的PDF门面。自定义模型不存在loadView()方法,因此触发该错误。
解决方案
1. 修正控制器的引入语句
打开TestPdfController.php,删除错误的引入语句并替换为正确的门面引用:
// 删除这一行错误引入 // use App\Models\PDF; // 改用以下两种方式之一: // 方式1:利用已配置的别名 use PDF; // 方式2:直接引入门面完整类路径 use Mccarlosen\LaravelMpdf\Facades\LaravelMpdf;
若选择方式2,需将代码中的PDF::loadView()改为LaravelMpdf::loadView()。
2. 清理Laravel配置缓存
执行命令刷新配置缓存,确保别名配置生效:
php artisan config:clear php artisan cache:clear
3. 验证别名配置正确性
再次确认config/app.php中的别名配置无误:
'aliases' => Facade::defaultAliases()->merge([ 'PDF' => Mccarlosen\LaravelMpdf\Facades\LaravelMpdf::class, ])->toArray(),
4. 排查类名冲突
检查项目中是否存在其他同名PDF类(如其他包、自定义门面或模型),避免覆盖laravel-mpdf的门面别名。
内容的提问来源于stack exchange,提问作者Ahmed Nasser
相关产品推荐
相关产品推荐

