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

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

У меня две таблицы, событие & client_location с событием Models & ClientLocation

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

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

Модель ClientLocation:

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

Метод полей Нова Ресурс для события:

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

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

1

Решение

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

Они есть:

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

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

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]