首页 > 解决方案 > 数据库建模:继承

问题描述

我无法完全弄清楚如何用这个问题对我的数据库建模:

  • 一个旅程有一个司机
  • 一段旅程有多名乘客
  • 司机乘客都是用户。_
  • 一个用户显然可以有多个旅程,他要么是司机,要么是乘客

我想到了一个数据透视表journey_role_user,但这不会真正起作用。
我正在用 Laravel 的 Eloquent 开发这个,并不是说这会改变任何关系。

标签: mysqlsqldatabasemodeleloquent

解决方案


我会推荐三个表:

users:
    user_id,
    . . .

journey:
    journey_id,
    driver_id references users.user_id
    . . .

journey_passenger
    journey_passenger_id,
    journey_id references journey.journey_id,
    passenger_id references user.user_id,
    . . .

“司机”和“乘客”似乎只是用户可以拥有的角色。这些可以由参考表定义。


推荐阅读