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č
相关产品推荐
相关产品推荐

