You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP 8.1.1出现Undefined variable $optionsForModels错误,求排查

问题分析与解决方案

你遇到的Undefined variable $optionsForModels错误,是因为在Backpack for Laravel中创建morphTo关联字段时,没有明确指定字段类型为morph_to,导致字段类未初始化存储模型选项的变量。

修正后的控制器代码

CRUD::field('numberable')
    ->type('morph_to') // 必须指定字段类型为morph_to
    ->addMorphOption('App\Models\Employee')
    ->addMorphOption('App\Models\Place');

或者也可以用批量添加的方式,代码更简洁:

CRUD::field('numberable')
    ->type('morph_to')
    ->optionsForModels([
        'App\Models\Employee',
        'App\Models\Place'
    ]);

补充说明

你的模型层代码是正确的,morphMany和morphTo的关联定义没有问题,只需要在控制器中给字段指定正确的类型,就能初始化对应的变量,解决未定义的错误。

内容的提问来源于stack exchange,提问作者Miha Rokovnjač

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 09:30:49