Adonis V5中使用Lucid进行条件查询,可以使用以下代码示例实现:
const users = await User.query()
.where('age', '>', 18)
.where(function (query) {
query.where('name', 'like', '%john%').orWhere('email', 'like', '%john%')
})
.orWhereHas('posts', (builder) => {
builder.where('status', 'published')
})
.orderBy('created_at', 'desc')
.fetch()
上述代码中,我们使用了.where
方法来添加筛选条件,同时也可以使用.orWhere
方法添加不同的筛选条件。使用.whereHas
方法以及回调函数可以查询关联模型中匹配条件的记录。最后使用.orderBy
方法按照创建时间进行排序。
另外,我们还可以使用.select
方法进行字段的选择,.with
方法进行关联模型的预加载等操作。