我有以下'距离'表:
???????????????????????????????????????????????????????????????????????????????
? id ? origin_lat ? origin_lng ? destination_lat ? destination_lng ? distance ?
???????????????????????????????????????????????????????????????????????????????
? 1 ? 1.234567 ? 2.345678 ? 3.456789 ? 4.567890 ? 10 ?
? 2 ? 5.678901 ? 6.789012 ? 7.890123 ? 8.901234 ? 20 ?
???????????????????????????????????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
问题是,如何在必要时使用ActiveRecord和Arel创建以下SQL查询(由PostgreSQL支持):
SELECT *
FROM distances
WHERE
(origin_lat, origin_lng) IN ((1.234567, 2.345678), (5.678901, 6.789012))
AND
(destination_lat, destination_lng) IN ((3.456789, 4.567890), (7.890123, 8.901234));
Run Code Online (Sandbox Code Playgroud)
我试过这个,但它不起作用:
Distance.where('(origin_lat, origin_lng) IN (?) AND (destination_lat, destination_lng) IN (?)', [[1.234567, 2.345678], [5.678901, 6.789012]], [[3.456789, 4.567890], …Run Code Online (Sandbox Code Playgroud) 假设我的Parent模型有很多Child,Child也属于OtherParent.
我怎样才能找到所有属于Parent它的所有地方?ChildOtherParent
在纯SQL中我能做到
Parent.find_by_sql(<<SQL)
SELECT *
FROM parents p
WHERE NOT EXISTS (
SELECT *
FROM children
WHERE parent_id = p.id
AND other_parent_id IS NULL
)
SQL
Run Code Online (Sandbox Code Playgroud)
(从这里开始),但如果可能的话,我更愿意利用ActiveRecord.
谢谢!
我正在使用Rails 4.2.1和PostgreSQL 9.3
我在 YouTube IFrame Player API 文档上找不到任何方法来监听时间变化(因此我可以在 UI 中显示视频的当前时间/持续时间)。有没有办法在不轮询的情况下做到这一点getCurrentTime()?