从1个资源而不是另一个资源将HasMany上的404获取到同一记录

时间:2019-04-30 12:29:04

标签: php laravel laravel-nova

我有一个现有的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);
    }

0 个答案:

没有答案