Я пытаюсь указать отношение 1: 1 через orgperson (), несмотря на характер существующей связи m: m, orgs (), так что я могу загрузить организацию по умолчанию 1.
У меня есть следующие объекты, каждый с таблицей:
- модель человека - важное примечание, defaultOrgID существует для человека
- запись организации
- сводная точка, соединяющая оба (orgperson)с дополнительными полями
Является ли допустимым мое "jerry-rigging", как показано в функции orgperson ()?
Если нет, есть ли что-нибудь близкое, что могло бы быть?
В модели Person соответствующие отношения следующие:
// many-to-many relationship from person to orgs via org-person table
public function orgs()
{
return $this->belongsToMany(Org::class, 'org-person', 'personID', 'orgID');
}
// "pivot table" with additional fields
public function orgperson()
{
return $this->belongsTo(OrgPerson::class, 'personID', 'personID')
->where([
['orgID', $this->defaultOrgID],
['personID', $this->personID]
]);
}