是否有一种方法可以将数据透视表基于列与其他表链接起来?
我有表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
是否是包,然后检查包表?然后,我可以在Order模型中将我的关系指定为:
public function package() {
// check column table and return package
}
public function products() {
// check column table and return products
}
还是这个数据库设计错误?我愿意接受其他建议。