Laravel Backpack内联创建时Ajax提示‘route not found’路由不存在问题
解决Laravel-admin中Tag内联创建正常但搜索标签时路由不存在的问题
排查与修复步骤
确认模型关联正确性
确保Question模型中已定义与Tag的多对多关联:// app/Models/Question.php public function tags() { return $this->belongsToMany(Tag::class); }修正表单字段的搜索路由配置
在Question的Admin控制器表单配置里,tags字段的搜索路径指向错误,应该用Tag模型的fetch路由而非Question下的路径。调整代码如下:// app/Admin/Controllers/QuestionController.php $form->multipleSelect('tags', '标签') ->fetch('/admin/tags/fetch'); // 指向Tag的搜索路由Laravel-admin会为每个Admin模型自动生成
/admin/{model}/fetch路由,所以Tag的搜索路由是/admin/tags/fetch,而非报错的/admin/question/fetch/tags。验证路由是否存在
执行php artisan route:list命令,检查输出中是否包含admin/tags/fetch路由。如果没有,说明Tag未生成对应的Admin控制器,或者路由未自动注册——重新生成Tag的Admin控制器即可(php artisan admin:make TagController --model=App\\Models\\Tag)。清除路由缓存
若之前缓存过路由,运行php artisan route:clear刷新路由配置,确保修改生效。版本兼容性检查
旧版Laravel-admin可能存在关联搜索路由的bug,尝试升级到对应Laravel版本兼容的稳定版(比如1.x适配Laravel 5-8,2.x适配Laravel 9+)。
内容的提问来源于stack exchange,提问作者zobay
相关产品推荐
相关产品推荐

