数据库设计方法:根据所选的字段之一,数据库中的条目将具有可为空的字段

时间:2019-02-07 11:48:14

标签: mysql database laravel database-design

我正在开发一个具有模型Role

的应用

角色的字段为type_id

角色还有4个字段:field_afield_bfield_cfield_d

根据所选类型的用户,将显示一组字段。

根据选择的类型,这些字段会有所不同

例如,如果role.type_id == 1,我们将以创建新角色的形式显示role.field_arole.field_b。这意味着对于该角色field_cfield_d将可以为空。

我试图找到一种设计我的数据库模式的好方法,因为有两种以上的类型,并且每种类型有两个以上的字段。

我不想在null表中为每个条目设置一堆roles字段。

我的想法是要有一个role_fields表,我将在其中存储字段名称并将其与role_type关联。因此将有2列:role_type_idname。那么我可以按照用户选择的类型来获取与给定角色关联的所有字段。

但是我认为这会使前端的视图复杂化,在该视图中,我们将不得不为每个角色循环一组字段以显示供用户键入的字段。这意味着我们应该存储字段类型(例如input或select-对于此字段,我们还需要存储默认数据)之所以如此之快,是因为我不想在这里构建CMS。

0 个答案:

没有答案