Laravel Взаимосвязь модели Nova 2 или более моделей - PullRequest
0 голосов
/ 18 июня 2020

Я использую 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 ]

1 голос
/ 18 июня 2020

Nova поддерживает обратные вызовы для описания значения поля. Попробуйте это:

Text::make('state', function($resource) {
                // Some code for receiving your state data
                return $resource->address->state; // as example
            })->exceptOnForms(),

Для получения дополнительной информации прочтите это Вычисляемые поля

И это Dynami c Методы поля

0 голосов
/ 27 июня 2020

Вы можете использовать display Использование

 BelongsTo::make('State name', 'address', Address::class)                      
       ->displayUsing(function () {
            return $this->address->state->name;
        })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...