-
12-12-2019 - |
题
我即将重新设计一个数据库模式,我正在考虑在我的应用程序中使用ORM,下面的模式是否可以与Eloquent ORM一起使用,或者我还必须添加连接表?
ISSUES(ID, ORGANIZATION_ID, DATE, TIME, CATEGORY_ID, TYPE_ID, ISSUE_DETAILS_ID)
ISSUE_DETAILS(ID, NAME, STATUS, EMAIL)
ORGANIZATIONS(ID, NAME, ADDRESS, CONTACT)
CATEGORIES(ID, CATEGORY)
TYPES(ID, TYPE, CATEGORY_ID)
解决方案
我唯一可能会做的不同的事情就是 issue_id
上的外键 issue_details
桌子,这样你就可以有一个 一对一 关系。
所以如果你使用Eloquent,你可以做这样的事情。
echo $issue->details->name;
我不完全确定你会在细节表中存储什么,也许会有一个问题的多个细节,在这种情况下你会有一个 多对多 关系。
其他提示
除了杰森的建议,你也可以删除 category_id
从 issues
表自每个 type
已经有一个 category
, ,您已经可以通过类型访问类别。
即 $issue->type->category
不隶属于 StackOverflow