基于表列的Laravel动态数据透视表

时间:2018-11-04 16:15:01

标签: database laravel

是否有一种方法可以将数据透视表基于列与其他表链接起来?

我有表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
}

还是这个数据库设计错误?我愿意接受其他建议。

0 个答案:

没有答案