升级Livewire至v3时遇「No morph map defined for model」错误求助
环境与操作背景
- 运行环境:Docker + Laravel 9.39.0 + PHP 8.1.3
- 操作目标:将Livewire从2.10版本升级至3.0版本
升级执行步骤
按照Livewire官方升级指引执行了以下命令:
sail composer require livewire/livewire "^3.0" sail php artisan view:clear sail php artisan livewire:upgrade
执行livewire:upgrade启动半自动代码审查流程时,全程选择「keep(1)」和「yes」,所有步骤无报错完成。之后手动完成了dispatch()方法的参数命名调整,升级流程结束。
问题现象
访问包含Livewire组件的视图时,例如使用以下代码:
@livewire('authors.bios', ['author' => $author])
该行代码在Livewire 2.10版本中可正常运行,但升级后抛出异常:
"No morph map defined for model [App\Models\Author]."
多方排查仍未找到问题原因,寻求帮助。
附:composer.json内容
{ "name": "laravel/laravel", "type": "project", "description": "The Laravel Framework.", "keywords": ["framework", "laravel"], "license": "MIT", "require": { "php": "^8.1", "doctrine/dbal": "^3.5", "ezyang/htmlpurifier": "^4.16", "fideloper/proxy": "~4.4.1", "guzzlehttp/guzzle": "^7.2", "laravel/framework": "^9.2", "laravel/sanctum": "^2.14.1", "laravel/tinker": "^2.7", "laravel/ui": "^3.4", "livewire/livewire": "^3.0" }, "require-dev": { "fakerphp/faker": "^1.9.1", "laravel/sail": "^1.0.1", "mockery/mockery": "^1.4.4", "nunomaduro/collision": "^6.1", "phpunit/phpunit": "^9.5.10", "spatie/laravel-ignition": "^1.0" }, "autoload": { "psr-4": { "App\\": "app/", "Database\\Factories\\": "database/factories/", "Database\\Seeders\\": "database/seeders/" }, "files": [ "app/helpers.php" ] }, "autoload-dev": { "psr-4": { "Tests\\": "tests/" } }, "scripts": { "post-autoload-dump": [ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "@php artisan package:discover --ansi" ], "post-update-cmd": [ "@php artisan vendor:publish --tag=laravel-assets --ansi --force" ], "post-root-package-install": [ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" ], "post-create-project-cmd": [ "@php artisan key:generate --ansi" ] }, "extra": { "laravel": { "dont-discover": [] } }, "config": { "optimize-autoloader": true, "preferred-install": "dist", "sort-packages": true }, "minimum-stability": "dev", "prefer-stable": true }
内容的提问来源于stack exchange,提问作者Alberto Suárez
相关产品推荐
相关产品推荐

