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;
        })
Другие вопросы по тегам