2016-05-09 2 views
0

Я пытаюсь получить количество строк в таблице, соответствующих требованиям.Как получить количество строк в таблице через консоль rails

#<Ahoy::Event:123abc 
    id: "123abc", 
    visit_id: "123abc", 
    user_id: 1, 
    name: "post_succeeded", 
    properties: 
    {"info"=>nil, 
    "type"=>"post-to-host", 
    "value"=>0.1, 
    "partner"=>"Glassdoor", 
    "request"=> 
    {"url"=>"http://glassdoor.com", 
     "params"=> 
     {"v"=>"1", 
     "t.k"=>"bac", 
     "t.p"=>"92", 
     "action"=>"doJobAlert", 
     "format"=>"json", 
     "userip"=>"::1", 
     "useragent"=>"", 
     "utm_medium"=>"cpc", 
     "utm_source"=>"SimplyJobs", 
     "emailAddress"=>"[email protected]", 
     "utm_campaign"=>"simplyjobs.com", 
     "rawLocationName"=>"12345"}}, 
     "success"=>true}, 
    time: Sat, 07 May 2016 19:46:19 UTC +00:00> 

Требования: 'тип' => 'пост-хост' AND 'партнера' => 'Glassdoor' И 'успех' => верно и 'время' => Time.now.month/день/

года

Это был моя попытка:

Ahoy::Event.where("properties ->> 'type' = ?", 'post-to-host' AND "properties ->> 'partner' = ?", 'Glassdoor' AND "properties ->> 'request' ->> 'success' = ?", true AND time: Time.now.month AND time: Time.now.day AND time: Time.now.year).count 

Я не так хорошо знаком с SQL, любая помощь приветствуется.

+1

Это не выглядит как SQL - это что-то делать с Ruby On Rails? – cup

+0

Да, я смотрел документацию здесь: https://github.com/ankane/ahoy#querying-properties – Ctpelnar1988

+1

по таблицам, которые вы имеете в виду, таблицы или все строки в таблице, соответствующие вашим требованиям? – coderVishal

ответ

1

Читайте об использовании where пункта в рельсах Ответ будет что-то вдоль этих линий

Ahoy::Event.where("properties ->> 'type' = ? AND 
properties ->> 'partner' = ? AND properties ->> 
'request' ->> 'success' = ? AND time = ?", 'post-to-host', 'Glassdoor', true , Time.now).count 
+0

Извлеките '' 'из 1-го и 2-го'? 'В ваш пример в соответствии с документами. Запрос« success »дает ошибку. Удаление его дало мне счет, так что вы на правильном пути. – Ctpelnar1988

+0

As как указано в предыдущем комментарии, запрос «успех» неверен. Дальнейшее тестирование показывает, что запрос «времени» также неверен. Хотя это был шаг в правильном направлении, это не правильный ответ. – Ctpelnar1988

Смежные вопросы