我的桌子看起来很谎言:
该表用作两个表之间的参考表。踢球者是这个参考表所服务的第二个表取决于member_type
的值。
使用上表连接了三个表:incidents
,user_member_incidents
和server_member_incidents
。参考表中的member_id
列引用user_member_incidents
表或server_member_incidents
表。这取决于member_type
列的值。
如何在Eloquent中使用belongsToMany
方法反映这种关系?
答案 0 :(得分:4)
假设您拥有Incident
,UserMember
和ServerMember
模型,您可以定义以下关系:
class Incident extends Model
{
public function userMember()
{
return $this->belongsToMany(
UserMember::class,
'your_pivot_table_name',
'incident_id',
'member_id'
)->wherePivot('member_type', 1);
}
public function serverMember()
{
return $this->belongsToMany(
ServerMember::class,
'your_pivot_table_name',
'incident_id',
'member_id'
)->wherePivot('member_type', 2);
}
}
希望这能回答你的问题。