我希望能够调用一个函数或我在Ecto的“where”中的谓词。我想这样的:在Ecto的“where”中调用我自己的谓词
items = where(Item, [x], Item.my_predicate?(x))
# items = where(Item, [x], Item.my_predicate?(x) == true)
它抛出一个异常:
`Item.my_predicate?(x)` is not a valid query expression
如何解决呢?
这是不可能的。当你有这样的查询时,它需要翻译成你的数据库查询语言。如果您开始在其中编写任意代码,ecto将无法进行该翻译。 –
如果您向我们提供您想要运行的谓词和您使用的数据库的示例,那么向您提供更多帮助会更容易。 – Hauleth