我正在尝试使用带有层次结构的类别表来构建导航系统.通常,该表定义如下:
id (int) - Primary key
name (varchar) - Name of the Category
parentid (int) - Parent ID of this Category referenced to same table (Self Join)
Run Code Online (Sandbox Code Playgroud)
但问题是,我要求一个类别可以是多个父类别的子类.就像一个拥有和属于许多(HABTM)的关系.
我知道如果有两个表,类别和项目,我们使用连接表categories_items列出HABTM关系.但在这里,我没有两张桌子,只有桌子,但应该以某种方式显示HABTM关系.这是可以使用单个表吗?如果是,怎么样?如果不可能,我应该在创建附加连接表时遵循哪些规则(表命名,字段)?
我正在尝试使用CakePHP实现这一点,如果有人可以为这个问题提供CakePHP解决方案,那将是非常棒的.即使这是不可能的,任何关于创建连接表的解决方案都是值得赞赏的.谢谢你的时间.
- 编辑 - 我的问题似乎有点令人困惑,所以我正在努力重申我正在寻找的东西.在传统的自引用(自联接)父子关系中,每个项目只能有一个父项.我正在寻找的是模拟HABTM关系,即每个项目的多个父母.
类别和项目 - 要定义HABTM,我们使用categories_items连接表.
如果在类别中我需要HABTM,我该怎么办?
在使用VBA编写要在Excel中使用的自定义函数时,如何编写文档注释以便在自动填充公式期间自动显示excel?
例如,当我们开始键入VLookUp时,它会显示Vlookup作为工具提示的内容,显示输入变量名称,如果我们从功能区中按Insert Function,则会显示一个对话框,其中包含对功能的清晰说明...我们怎么能在VBA中编写自定义函数时实现这一点?
我有一个包含大量文本框的用户表单.当这些文本框的值发生变化时,我需要通过调用子程序AutoCalc()来重新计算基于文本框值的最终结果值.
我有大约25个盒子,我不想单独向调用所述子例程的每个文本框添加一个Change()事件.每当某些值发生变化时,调用AutoCalc()的最快捷有效的方法是什么?
我最近了解了Ctrl + Shift +输入Excel的数组公式,目前仍在学习它们.来我的问题,
SheetA:
Product Code
S1 19875
S2 19834
S1 13575
S1 35675
S2 47875
SheetB:
Code Indent
19875 40
19834 15
13575 22
35675 25
47875 20
Run Code Online (Sandbox Code Playgroud)
我需要做一个给定产品名称的所有缩进的总和.
例如:我需要S1的Total Indent,
我可以通过VBA实现这一点,但我想知道在使用CSE/Array公式的excel函数中是否可行.
编辑:
Sheet2中的值与Sheet1的顺序不同.它们是完全随机的.我的SheetB将是随机的,如下所示:
SheetB:
Code Indent
19834 40
19875 15
47875 22
13575 25
35675 20
Run Code Online (Sandbox Code Playgroud) 我有一个范围,包含数值和空白单元格.某些数值将具有*作为后缀.
10* 5 7 9 25* 10
Run Code Online (Sandbox Code Playgroud)
当我做SUM(A1:A8)时,得到5 + 7 + 9 + 10 = 31的结果,即所需的输出.现在,我还要求总和,而不考虑*后缀.我试图通过使用来解决
SUMPRODUCT(SUBSTITUTE(A1:A8,"*",""))
Run Code Online (Sandbox Code Playgroud)
它的工作原理
SUMPRODUCT({"10","5","7","","9","","25","10"})
Run Code Online (Sandbox Code Playgroud)
并且输出0因为所有都是文本值.我用的时候
SUMPRODUCT(value(SUBSTITUTE(A1:A8,"*","")))
Run Code Online (Sandbox Code Playgroud)
它的工作原理
SUMPRODUCT({10,5,7,#VALUE!,9,#VALUE!,25,10})
Run Code Online (Sandbox Code Playgroud)
最后输出#Value!.有人可以帮我解决这个问题吗?谢谢你的时间.