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

时间:2018-11-08 06:42:29

标签: php laravel laravel-nova

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

我有两个表,分别是event&client_location和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');
   }
}

事件的新资源字段方法:

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

关于如何处理此问题的任何想法?

1 个答案:

答案 0 :(得分:5)

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

它们是:

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

在您的特定情况下,这应该可行

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