Larvel Nova-同一模型上的多个关系

时间:2019-02-19 10:01:31

标签: php database laravel eloquent laravel-nova

在laravel nova的同一个雄辩模型中,有什么方法可以建立多个关系? 我尝试过,但是我不知道它是如何工作的。 我有一个假期模型,其中有以下方法。

public function user(){
    return $this->belongsTo('App\User');
}

public function representative(){
    return $this->belongsTo('App\User', 'representative');
}

因此,这意味着该模型属于用户和代表。 这意味着我想存储哪个用户想去度假,以及哪个用户是他不在的代表。 在我的数据库中,“度假” 表中有一列“ user_id” “代表” 。 现在,我想要在laravel nova“假期”资源中创建两个字段,使用它们可以创建一个Vacation条目,该条目的用户为'user_id',而用户为'representative' strong>。

      BelongsTo::make('Mitarbeiter','user','App\Nova\User')->display('name'),
      BelongsTo::make('Vertretung','representative','App\Nova\User')->display('name'),

但这似乎不起作用,因为我总是会收到错误消息: 调用未定义的属性App \ Vacation :: $ representative

我希望任何人都可以帮助:) 最好的问候

1 个答案:

答案 0 :(得分:0)

我的一个朋友发现了代码的问题。 我在vacation表中的数据库字段命名为representative,而我在vacation模型中的关系命名为representative。因此,框架不知道$vacation->representative是否应调用数据库中的关系或属性。这导致了上面的错误。

希望这可以帮助遇到相同问题的人。 您应始终将外键命名为 forgeinkey_id ,而不是外键,以排除此类错误。