2017-11-07 3 views
0

最近私はコードレールを開始しました。この問題を把握する必要があります。オペレーターのアホイイベント

%td 
    = Ahoy::Event.where(name: "viewed_brochure").where_properties(brochure_id: brochure.id, time: like 'Mon%').count 

これは、データベースの月曜日の数を示す必要があります。しかし、それは動作しないし、構文エラーを与える。

この行にlikeオペレータを使用する方法が不思議です。

Ahoy::Event.where(time: "2017-10-30 14:50:35.361999").where_properties(brochure_id: brochure.id).count 

この行はうまく動作しますが、私はオペレータまたは同様のものを使用する必要があります。

+1

だから何が問題なのですか? –

+0

しかし、 '時間'はdatetime型です。文字列 'Mon%'と比較するとどうなりますか? – Anton

+0

この日時データを曜日に変換するかどうかを判断する必要があります。 – Emre

答えて

0
Ahoy::Event.where("date_part('dow', time) = 1").count 

これは、複数のフィルタを追加することができますMonday.Youで作成されたすべてのイベントの数を返します。

0

あなたはそのためにPostgresの機能に組み込まれて使用しようとすることができます

Ahoy::Event.where("EXTRACT(DOW FROM time) = 1").where_properties(brochure_id: brochure.id).count 
+0

あまりにも多くの人ありがとうございます。この2つのソリューションは正常に動作します。 – Emre

関連する問題