在AdonisJs中,你可以使用whereRaw
方法来比较日期字段与数据库中的日期是否相等。下面是一个示例代码:
const Database = use('Database');
const { format } = require('date-fns');
class UserController {
async getUsers({ request, response }) {
const { date } = request.only(['date']);
const formattedDate = format(date, 'yyyy-MM-dd');
const users = await Database
.table('users')
.whereRaw(`DATE(created_at) = ?`, [formattedDate])
.fetch();
response.json(users);
}
}
在上面的代码中,我们首先使用request.only
方法从请求中获取日期字段,并使用date-fns
库的format
函数将日期格式化为yyyy-MM-dd
的字符串。
然后,我们使用Database.table
方法选择users
表,并通过whereRaw
方法将日期字段与数据库中的日期进行比较。DATE(created_at)
将数据库中的created_at
字段转换为日期,并使用=
操作符将其与格式化后的日期进行比较。
最后,我们使用fetch
方法获取匹配的用户,并将其作为响应返回。
注意:在使用此代码示例之前,确保已经安装了date-fns
库,并正确配置了数据库连接。