我有一个现有的Laravel / Nova项目和表格。我正在引入一组新的表格。
旧结构:
字段-> FieldValue
新结构:
ComplexField-> ComplexFieldValue
字段->字段值-> ComplexFieldValue
如果我尝试将FieldValue中的编辑图标与(HasMany)一起使用,则会出现空白屏幕,并在网络窗口中看到404错误的通知。
如果我查看记录,请对其进行编辑。很好。
如果我从ComplexField中进行编辑,它将成功显示编辑记录的屏幕。
显示工作方法的浏览器标题:
请求网址:http://localhost/nova-api/complex-fields/field/complexFieldValues
请求方法:GET
状态码:200 OK
...
X-Powered-By:PHP / 7.1.19
接受:application / json,text / plain, /
主机:localhost
推荐人:http://localhost/nova/resources/complex-field-values/42/edit?viaResource=complex-fields&viaResourceId=3&viaRelationship=complexFieldValues
无效方法显示为:
请求网址:http://localhost/nova-api/field-values/field/complexFieldValues
请求方法:GET
状态码:404未找到
...
X-Powered-By:PHP / 7.1.19
接受:application / json,text / plain, /
主机:localhost
推荐人:http://localhost/nova/resources/complex-field-values/42/edit?viaResource=field-values&viaResourceId=291&viaRelationship=complexFieldValues
有什么想法会导致这种行为?
我认为字段值可能会引起路由问题。我将它们更改为简单字段值,但是没有成功。
两个资源都在使用:
HasMany::make('Complex Field Values', 'complexFieldValues'),
两个模型都使用使用模型外键的特征。
public function complexFieldValues()
{
return $this->HasMany('App\Models\ComplexFieldValue', $this->foreignKey, 'id', \App\Nova\ComplexFieldValue::class);
}