我已经有了表格的结构。
Ride
-------------------------------------------
| ID | requestedAt | requested_for_time |
-------------------------------------------
| 1 | 1556641200000 | 20 |
| 2 | 1556641200000 | 25 |
-------------------------------------------
ride_car
------------------------------
| ID | ride_id | status |
------------------------------
| 1 | 1 | assigned |
| 2 | 1 | cancelled |
| 3 | 1 | completed |
| 4 | 2 | assigned |
| 5 | 2 | cancelled |
| 6 | 2 | completed |
------------------------------
这是SQL
查询
SELECT *
FROM rides r, ride_cars rc
WHERE
r.id = rc.`ride_id` and
(
r.requested_at + (r.requested_for_time * 60 * 1000) + (2 * 60 * 60 * 1000)
) / 1000 <= CURDATE();
此查询工作非常好,我在WaterLine ORM中需要相同的内容,但找不到任何方法来执行相同操作。 我已经尝试过下面的代码。
const now = new Date().getTime();
const ride = await Ride.find({
rideStatus: {'!': ['completed', 'cancelled']},
requestedAt: {'<=': (requestedAt + (requestedForTime * 60 * 1000) + (2 * 60 * 60 * 1000 )) - now}
});
并收到错误,指出未定义requestedAt
。您的帮助将不胜感激。