Я новичок в Rails и был бы очень признателен, если бы кто-то преобразовал эти SQL-запросы для завершения модулей для рельсов. Я знаю его много, чтобы спросить, но я не могу просто использовать find_by_sql для всех из них. Или я могу?Готовые SQL-запросы, которые нужно преобразовать в модули стиля Rails
Таковы SQLs (они работают на MS-SQL):
SELECT STANJA_NA_DAN_POSTAVKA.STA_ID, STP_DATE, STP_TIME, STA_OPIS, STA_SIFRA, STA_POND FROM STANJA_NA_DAN_POSTAVKA INNER JOIN STANJA_NA_DAN ON(STANJA_NA_DAN.STA_ID=STANJA_NA_DAN_POSTAVKA.STA_ID) WHERE ((OSE_ID=10)AND (STANJA_NA_DAN_POSTAVKA.STP_DATE>={d '2010-03-30'}) AND (STANJA_NA_DAN_POSTAVKA.STP_DATE<={d '2010-03-30'}))
SELECT ZIGI_OBDELANI.OSE_ID,
ZIGI_OBDELANI.DOG_ID AS DOG_ID,
ZIGI_OBDELANI.ZIO_DATUM AS DATUM,
ZIGI_PRICETEK.ZIG_TIME_D AS ZIG_PRICETEK,
ZIGI_KONEC.ZIG_TIME_D AS ZIG_KONEC
FROM (ZIGI_OBDELANI INNER JOIN ZIGI ZIGI_PRICETEK ON ZIGI_OBDELANI.ZIG_ID_PRICETEK = ZIGI_PRICETEK.ZIG_ID)
INNER JOIN ZIGI ZIGI_KONEC ON ZIGI_OBDELANI.ZIG_ID_KONEC = ZIGI_KONEC.ZIG_ID
WHERE (ZIGI_OBDELANI.OSE_ID = 10) AND (ZIGI_OBDELANI.ZIO_DATUM >= {d '2010-03-30'}) AND (ZIGI_OBDELANI.ZIO_DATUM <= {d '2010-03-30'}) AND (ZIGI_PRICETEK.ZIG_VELJAVEN <> 0) AND (ZIGI_KONEC.ZIG_VELJAVEN <> 0)
ORDER BY ZIGI_OBDELANI.OSE_ID, ZIGI_PRICETEK.ZIG_TIME ASC
Эти SQLs ежедневно рабочие часы, и я получил их как есть. Также я получил базу данных с ней, которая (как вы можете видеть из SQL-ов) не относится к соглашениям Rails. Как PS:
вещи, как STP_DATE> = {d'2010-03-30' }) , конечно, относится (в Словении дате записи) и будет заменен переменной (дата), чтобы пользователь мог выбрать дату и дату.
Все эти данные будут отображаться в той же странице в таблице, так что, может быть, все в одном модуле? Или много ?; если это помогает, может быть.
Так может кто-нибудь мне помочь? Его для моей работы и моего первого проекта, и я новичок Rails, и боссы становятся стационарными (они становятся довольно громкими на самом деле)
Спасибо вам большое!
Итак, я бы действительно оценил, может ли кто-то сделать соответствующую часть модели хотя бы для одного из сложных SQL. Я буду читать все данные в одном контроллере и в одном действии. Все будет сделано за один проход.
Невозможно, потому что такие приложения, как {d '2010-03-30'}), включены в приложение. Эти SQL являются лишь примерами для одного конкретного случая. В действительности даты и идентификаторы пользователя (например, OSE_ID = 10) вводятся пользователем – Hoornet