Здравствуйте. Подскажите, кто может. У меня есть две связи - компании продавцы и компании застройщики
public function companies_builder() {
return $this->belongsToMany('App\Models\Company', 'pivot_company_buildings_builder', 'building_id', 'company_id');
}
public function companies_seller() {
return $this->belongsToMany('App\Models\Company', 'pivot_company_buildings_seller', 'building_id', 'company_id');
}
Мне нужно сделать связь которая объединяет эти две таблицы. По типу:
public function all_buildings()
{
return ...
}
Помогите кто знает. Как это сделать?
На мой взгляд лучшим решением будет создание одной таблицы
pivot_buildings_companies
, в которую помимо полей внешних ключей добавить поле указывающее на тип связи (застройщик/продавец)
Тогда в классе Building
вы сможете описать метод:
public function companies() {
return $this->belongsToMany('App\Models\Company', 'pivot_buildings_companies', 'building_id', 'company_id');
}
public function companies_builder() {
return $this->companies()->wherePivot('type', 'builder');
}
public function companies_seller() {
return $this->companies()->wherePivot('type', 'seller');
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Хочу чтобы переменная возвращала количество вызовов функции