sql
1select ( 2 (select * from geo_table where type = 1) as circle 3 (select * from geo_table where type = 2) as rectangle 4 (select * from geo_table where type = 3) as polygon 5)
↑実際に動かしたわけではないのであってるかはわかりませんが
このような入れ子にした select を activerecord ではどうかけばいいのでしょうか
select の中に SQL 文がかけるので中身をそのまま貼り付ければかけなくはないですが
activerecord らしいきれいな書き方が知りたいです
class GeoTable < ActiveRecord::Base enum type: {circle: 1, rectangle: 2, polygon: 3} self::types.each{|k,v| scope k, -> { where(type: v) } } end
@circle = GeoTable.circle @rectangle = GeoTable.rectangle @polygon = GeoTable.polygon
のような書き方だと SQL が 3 回発行されてしまいます
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/04/23 04:04