假设我有Ecto架构Author
和Book
。我为每个人设置了“范围”功能:Author.name_ilike(name)
和Book.bestselling
。
如何将这两个函数组合起来为名为“Anna”且具有畅销书籍的作者运行INNER JOIN
查询?
我正在想象SQL:
SELECT *
FROM authors
INNER JOIN books ON books.author_id = authors.id
WHERE authors.name ILIKE "%anna%"
AND books.sales_count > 2000000
我从Ruby的ActiveRecord借用了“范围”一词;我不知道“定义或缩小查询的Ecto函数”这个术语。作为参考,ActiveRecord的方法是Author.name_like(name).merge(Book.bestselling)
。