Laravel Nova Модель отношения 2 или более моделей
Я использую фреймворк Laravel Nova, и мне трудно использовать отношения, когда дело доходит до визуализации (методы index и show).
Пример: у меня есть модель под названием User (id, name address_id), она связана с Address (id, street, state_id), а Address имеет связь с State (id, name), все используют ownTo.
Как мне показать состояние в профиле пользователя? Я знаю, что это $ user-> address-> state-> name, но как мне это сделать с Nova? Или вам также нужно создать поле state_id в User? (это было бы ужасно)
Спасибо вам всем
2 ответа
Nova поддерживает обратные вызовы для описания значения поля. Попробуй это:
Text::make('state', function($resource) {
// Some code for receiving your state data
return $resource->address->state; // as example
})->exceptOnForms(),
Для получения более подробной информации прочтите " Вычисленные поля".
Вы можете использовать дисплей
BelongsTo::make('State name', 'address', Address::class)
->displayUsing(function () {
return $this->address->state->name;
})