1

我们可以在vapor中应用一个简单的查询过滤器:

// User is my model object connecting corresponding MySQL database table
let aUser = try User.query().filter("user_email", "asd@example.com")

我们如何像在 SQL 查询中那样使用 AND 或 OR 条件链接多个查询过滤器?

比如说,如果我们需要加入filter("user_email", "asd@example.com")并且filter("user_password", "123456")有一个AND条件,我们怎样才能实现呢?

4

1 回答 1

2

据我所知, .filter 函数在检查过滤条件后会抛出一个布尔值。因此,您可以尝试将两个条件与逻辑 AND 运算符结合起来。对于适当的解决方案,最好了解对象用户的结构和属性:但建议是:

    let aUser = User.query().filter { condition1 && condition2 }

如果两个条件都为真,过滤器只会将 User.query() 的一个元素传递给 aUser。确保 User.query() 是一个数组,并且您在条件中使用 $0 引用当前对象。过滤器函数也将返回一个数组。

于 2017-03-14T08:14:42.370 回答