我正在使用Mysql数据库构建一个Laravel应用程序,用户可以在其中浏览可用工具列表。这些工具都位于网址/tools/{tool-slug}
。
此URL路由到我的ToolController
中的方法,该方法使用slug在数据库中查找工具,并将相应的视图,js文件和有关该工具的信息返回给浏览器。
以下是我正在寻找建议的部分:
这些工具中的每一个都可以具有与之关联的一些配置设置,并且需要在该工具页面上查看这些设置以及每个设置的选项,以便用户可以根据需要调整设置。每种工具的可用设置都不同。
因此,例如,ToolA可能具有以下配置选项:
Page Position -> top, left, bottom
Header Color -> blue, yellow, green
ToolB可能具有以下设置:
Font Weight -> bold, regular
Page Position -> top, left, bottom, right
Header Text -> "Heading 1", "Heading 2", "Heading 3"
我正在尝试确定设置模型和表格来表示此信息的最佳方法。这是我到目前为止所提出的,但我很想知道是否有人有更好的想法:
ToolConfigOption
- id
- tool_id
- name (this would be things like "Page Position", "Header Text", etc)
ToolConfigOptionValues
- id
- tool_config_option_id
- value (this is the possible values for the option like "top", "bold", etc)
ToolConfig (this assigns the configuration to a specific user)
- tool_id
- user_id
- tool_config_option_id
- tool_config_option_value_id
现在,要列出该工具页面上给定工具的配置选项,我将查找给定工具的所有ToolConfigOptions和ToolConfigOptionValues。要获取给定用户的工具的当前设置,我将查找给定用户和给定工具的所有ToolConfig条目。
答案 0 :(得分:0)
我会用这样的东西:
User - User Model
Tool - ToolModel
ToolConfig - represents the Tool Configuration options available for each tool
ToolConfigUser - Represents the relationship between Users and Tool Configurations