Laravel Nova 5使用maatwebsite/laravel-nova-excel报数组偏移访问错误
解决Laravel 11 + Nova 5中maatwebsite/laravel-nova-excel的
Cannot access offset of type Laravel\Nova\Support\PendingTranslation on array错误 以下是几个针对性的解决方案,按优先级尝试:
1. 修复资源字段中的未解析翻译
这个错误通常是因为Nova资源的字段标签使用了未完成的翻译(返回PendingTranslation对象而非字符串),包在处理字段时尝试以数组偏移方式访问该对象导致报错。
检查你的Nova资源字段定义,调整未正确解析的翻译:
// 错误示例:翻译键不存在或未加载,返回PendingTranslation对象 Text::make(__('untranslated.key'), 'name'), // 修复方式1:强制将翻译结果转为字符串 Text::make((string)__('translated.key'), 'name'), // 修复方式2:使用resolve()方法获取最终翻译文本 Text::make(__('translated.key')->resolve(), 'name'),
2. 安装兼容的包版本
确认你安装的maatwebsite/laravel-nova-excel版本是否完全适配Laravel 11和Nova 5,尝试指定兼容版本重新安装:
composer require maatwebsite/laravel-nova-excel:^1.4 --with-all-dependencies
3. 清除所有缓存
执行以下命令清除Laravel和Nova相关缓存,避免旧缓存数据干扰:
php artisan cache:clear php artisan config:clear php artisan view:clear php artisan nova:clear-cache
4. 排除其他动作/字段冲突
暂时移除Nova资源中其他自定义动作和非核心字段,只保留DownloadExcel动作与基础字段,测试是否还报错。如果问题消失,再逐个恢复其他内容,定位冲突来源。
内容的提问来源于stack exchange,提问作者maryam
相关产品推荐
相关产品推荐

