Slick "for/yield"-query 无法通过负比较进行编译
Slick "for/yield"-query doesn't compile with negative comparison
我 运行 我的 slick
-查询遇到了一个奇怪的问题:
如您所见,下面的函数正在编译,虽然它基本上是相同的查询,但有一个积极的比较(虽然我不知道它是否真的在做它应该做的事情)。当交换if
条件的顺序时,它告诉我无法解决&&
。我不知道是不是这样,但我猜第二个 table query object
,在本例中 contents
,似乎还没有完成。但是,这引出了为什么第二个 function/query 编译正确的问题。
你有答案吗?我在这里做错了什么吗?
提前致谢!
我想我已经解决了问题。
而不是:
if a.documentId === documentId && b.contentTypeId !== ContentType.PROCESS
我需要写:
if a.documentId === documentId && !(b.contentTypeId === ContentType.PROCESS)
仍然是一个我无法真正解释的奇怪行为,特别是因为在那些 if
-statements
中通常允许像 !==
这样的负面比较
根据 slick docs
,您应该在查询中使用 =!=
表示不等式,使用 ===
表示相等式
我 运行 我的 slick
-查询遇到了一个奇怪的问题:
如您所见,下面的函数正在编译,虽然它基本上是相同的查询,但有一个积极的比较(虽然我不知道它是否真的在做它应该做的事情)。当交换if
条件的顺序时,它告诉我无法解决&&
。我不知道是不是这样,但我猜第二个 table query object
,在本例中 contents
,似乎还没有完成。但是,这引出了为什么第二个 function/query 编译正确的问题。
你有答案吗?我在这里做错了什么吗?
提前致谢!
我想我已经解决了问题。
而不是:
if a.documentId === documentId && b.contentTypeId !== ContentType.PROCESS
我需要写:
if a.documentId === documentId && !(b.contentTypeId === ContentType.PROCESS)
仍然是一个我无法真正解释的奇怪行为,特别是因为在那些 if
-statements
!==
这样的负面比较
根据 slick docs
,您应该在查询中使用=!=
表示不等式,使用 ===
表示相等式