js脚本addLink时报错invalid linked table

目前设置好子表A、子表B和子表C,然后B和C都链接到A上。另外我写了一个js脚本,B和C都是调用这个脚本,通过判断当前所在子表和行,实现 B或C 各自与A的链接(addLink)。
现在的问题是,这个脚本对于B是没问题的,但是在子表中C运行到addLink时,会报错:“invalid linked table”。

经过调试,我发现了问题的所在:
子表A的_id是qn2x,在表B中,链接列里的table_id是qn2x,但是在子表C中,链接列的other_table_id才是qn2x。
也就是说,我希望B和C都指向A,但实际的链接方向是,B指向A,而C是被A指向的。(也可能我理解的方向完全是反的)

所以,我的问题是,究竟要如何控制表之间链接的方向呢?也就是保证“qn2x”都是关联表的table_id,而非有的是table_id、有的是other_table_id?

尝试1:
调整以下4个参数的顺序,也尝试将addLink改成updateLink,

  • tableName: 链接表的名字
  • linkedTableName: 被链接表的名字
  • rowId: 链接行 id
  • linkedRowId: 被链接行的 id
    无论如何调整,“linkedTableName”这个参数,始终报错invalid linked table,但是第一个表tableName却不报错。

尝试2:
我将同样的5个参数,直接放到python脚本中,add_link成功了。这说明参数是没问题的 :rofl:

嗯嗯,我试过改变参数的顺序了,还是不可以。我直接把这些表格name和行id这些值写到js脚本的addlink里,也不行,但是一样的参数值写到python脚本里就可以,太奇怪了。
刚才试了下,出问题的这两个表格A和C,用脚本和其它新建的表格建立关联也会出问题,哪怕我复制表A成一个新表,用js脚本与C建立关联也会出问题。但是,我新建两个全新的子表(不能用复制),用这个脚本建立关联,就不会出错。
我怀疑我在前期创建表格的时候,可能某些操作导致表A和C内部出现一些紊乱了,现在除了原来创建好的B之外,后面所有和AC关联起来的表格,使用都会出问题。估计只能重建了。

下个 2.4 版本会修复这个问题。