Laravel 当关系方法名称和外键前缀不同时,Nova BelongsTo 不起作用

Laravel Nova BelongsTo not working when relationship method name and foreign key prefix are different

当关系方法名称和外键前缀不同时,属于关系在我的 Nova 应用程序中不起作用。

我有两个表,event & client_location with Models Event & 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');
   }
}

事件的 Nova 资源字段方法:

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

知道如何处理这个问题吗?

BelongsTo::make() 可以有 3 个参数。

他们是:

  1. 要显示的名称
  2. 关系名称
  3. 新星资源

在您的特定情况下,这应该有效

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