Laravel Nova Belongs Не работает, когда имя метода отношения и префикс внешнего ключа различаются - PullRequest
0 голосов
/ 08 ноября 2018

Отношения не работают в моем приложении Nova, когда имя метода отношения и префикс внешнего ключа различаются.

У меня есть две таблицы: event & client_location с моделями Event & ClientLocation

Модель события:

class Event extends Model
{
   public function clientLocation()
   {
       return $this->belongsTo(\App\ClientLocation::class, 'location_id');
   }
}

Модель расположения клиента:

class ClientLocation extends Model
{
   public function events()
   {
       return $this->hasMany(\App\Event::class, 'location_id');
   }
}

Метод полей Nova Resource для события:

public function fields(Request $request)
{
    return [
        ID::make()->sortable(),
        BelongsTo::make('clientLocation'),
    ];
}

Есть идеи, как решить эту проблему?

1 Ответ

0 голосов
/ 08 ноября 2018

BelongsTo::make() может принимать 3 аргумента.

Это:

  1. Имя для отображения
  2. Наименование отношений
  3. Нова ресурс

В вашем конкретном случае это должно работать

BelongsTo('Events', 'clientLocation', App\Nova\ClientLocation::class)
...