Получение 404 на HasMany из 1 ресурса, но не другого ресурса в той же записи - PullRequest
1 голос
/ 30 апреля 2019

У меня есть существующий проект Laravel / Nova и таблицы.Я представляю новый набор таблиц в миксе.

Старая структура:
Поле -> FieldValue

Новая структура:
ComplexField -> ComplexFieldValue
Поле -> FieldValue -> ComplexFieldValue

Если я пытаюсь использовать значок редактирования из FieldValue с (HasMany), в моем окне сети появляется пустой экран и уведомление об ошибке 404.

Если я просматриваю запись, то редактируюЭто.Он работает нормально.

Если я редактирую из ComplexField, он успешно откроет экран для редактирования записи.

Заголовки браузера показывают для рабочего метода:

URL запроса: http://localhost/nova-api/complex-fields/field/complexFieldValues
Метод запроса: GET
Код состояния: 200 OK
...
X-Powered-By: PHP / 7.1.19
Примите: application / json, текст / обычный, /
Хост: localhost
Реферер: http://localhost/nova/resources/complex-field-values/42/edit?viaResource=complex-fields&viaResourceId=3&viaRelationship=complexFieldValues

Где, как показывает нерабочий метод:

URL запроса: http://localhost/nova-api/field-values/field/complexFieldValues
Метод запроса: GET
Код состояния: 404 Не найдено
...
X-Powered-By: PHP / 7.1.19
Accept: 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);
    }
...