У меня есть существующий проект 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);
}