在Waterline ORM的同一查询中使用模型的同一列

时间:2019-05-10 07:04:17

标签: sql orm sails.js waterline

我已经有了表格的结构。

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。您的帮助将不胜感激。

0 个答案:

没有答案