У меня есть Services
, который имеет отношение многие-ко-многим к People
в качестве контактов, связанных сводной таблицей services_contacts
, и я пытаюсь создать локальный запрос области в модели Service
, чтобыreturn primaryContacts ():
public function scopePrimaryContacts($query)
{
$pivot = $this->contacts()->getTable();
return $query->whereHas('contacts', function ($q) use ($pivot) {
return $q->where("{$pivot}.is_primary", true);
});
}
Это возвращает службы, где мне нужно вернуть людей, связанных как is_primary
на самой сводной таблице.Я хотел бы иметь возможность звонить $this->primaryContacts
на моей Service
модели, как я могу позвонить $this->contacts
, чтобы получить любые / все контакты.Есть идеи, куда идти отсюда?Вот отношения ... contacts
на модели Service
:
public function contacts()
{
return $this->belongsToMany(Person::class, 'services_contacts', 'service_uuid', 'person_uuid')
->withPivot('is_primary', 'is_active', 'contact_type_uuid')
->withTimestamps();
}
И services
на модели Person
:
public function services()
{
return $this->belongsToMany(Service::class, 'services_contacts', 'person_uuid', 'service_uuid');
}