Php 是否可以在Laravel中获得透视表与另一个表的关系?

Php 是否可以在Laravel中获得透视表与另一个表的关系?,php,mysql,database,laravel,eloquent,Php,Mysql,Database,Laravel,Eloquent,我有一个培训应用程序,当前具有以下模式: trainings id name speakers id first_name last_name training_speaker id training_id speaker_id training_speaker_dates id training_speaker_id date time 一个培训可以有多个演讲者,一个演讲者可以有多个培训。目前,我正在通过pivot模型访问培训演讲者 class Training { public

我有一个培训应用程序,当前具有以下模式:

trainings
id
name

speakers
id
first_name
last_name

training_speaker
id
training_id
speaker_id

training_speaker_dates
id
training_speaker_id
date
time
一个培训可以有多个演讲者,一个演讲者可以有多个培训。目前,我正在通过pivot模型访问培训演讲者

class Training {
  public function speakers() {
    return $this->belongsToMany('App\Speaker')->using('App\TrainingSpeaker');
  }
} 
假设我们有一个为期3天的培训,一个演讲者可以参加第一天的培训,也许只是早上,这就是为什么
training\u speaker\u dates
有日期和时间(上午或下午)

是否可以在“培训课程”下的“演讲者方法”中包含
培训\演讲者\日期

或者,我是否应该删除
training\u speaker\u dates
并将字段添加到
training\u speakers
表中,并允许使用唯一id重复值(training\u id和speaker\u id)?那么它看起来是这样的

training_speaker
id
training_id
speaker_id
date
time
试试这个

class Training {
  public function trainingspeakerdates() {
    return $this->hasMany('App\Trainingspeakerdates','training_speaker_id','id')->using('App\TrainingSpeaker');
  }
} 

不知道如果不使用第三方软件包或者不通过自己实现某种形式的has-many,这是否可能。但是,您为什么没有在
training\u speaker
表中使用
date
time
作为枢轴属性呢?@user3532758我在training\u speaker中存储时使用了attach方法,因此我只能保存一个我猜唯一的training\u id和speaker\idAh!我懂了。因为有
id
我想你可能已经计划好在那里重复配对了。我以前在类似的情况下使用过
syncWithoutDetaching
。对不起,我帮不上忙,希望有更有经验的人来。祝你好运。不用担心@user3532758 mate!谢谢你分享你的想法。对不起,我需要先访问发言者并附上每个发言者的日期。