Есть ли способ связать сводную таблицу с другой таблицей на основе столбцов?
У меня есть таблица Customer, OrderItem, Package и Product. Моя текущая реализация:
Customer
- id
Order
- id
- customer_id
OrderItem
- order_id
- table_id
- table
- quantity
Package
- id
Product
- id
Обычно мы просто используем что-то вроде этого:
return $this->belongsToMany('App\Role', 'role_user', 'user_id', 'role_id');
но есть ли способ проверить, является ли столбец table
пакетом, затем присоединиться к таблице пакетов? Тогда я могу указать свое отношение в модели заказа как:
public function package() {
// check column table and return package
}
public function products() {
// check column table and return products
}
Или это неправильный дизайн базы данных? Я открыт для других предложений.