【发布时间】:2019-12-25 13:46:48
【问题描述】:
我正在尝试将此 SQL 查询转换为 Laravel 查询。
SELECT count(*) FROM (SELECT order_id FROM table1 WHERE app_process='7' AND ( service_type='lite' OR ((end_time-".time().")/86400)>'0') ) a INNER JOIN (SELECT order_id FROM table2 WHERE process='1' AND amount>'0' GROUP BY order_id) b ON a.order_id=b.order_id
我几乎成功(?)转换但我不知道如何转换时间部分。
end_time-".time().")/86400
我转换的内容
Db::table('table1 as A')
->select('A.order_id')
->where('A.app_process', '=', '7')
->where('A.service_type', '=', 'lite')
->orWhere('A.end_time', '>', '0') <== problem here!!
->join(Db::raw('(select order_id from table2 where process = 1 and amount > 0 group by order_id) B'), 'B.order_id', '=', 'A.order_id')
->count();
有人可以帮我解决时间部分吗?
【问题讨论】:
-
你想用时间部分实现什么?看起来它可以简单得多。
-
希望这会有所帮助。Stackoverflow question
-
@Jerodev 我不确定,因为我不是编写 sql 查询的人,但“end_time”是 unix 时间戳。所以,我认为距离 end_time 可能还有几天的时间。
-
@farooq 很抱歉,我在那里找不到具体有用的东西...
-
显示您的数据库 end_time 文件格式?