Форум программистов, компьютерный форум, киберфорум
PHP: Laravel
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 26.10.2016
Сообщений: 5

Переписать "сырой" sql запрос в Eloquent ORM

22.10.2021, 15:43. Показов 1041. Ответов 2

Author24 — интернет-сервис помощи студентам
Есть сырой sql запрос который отлично работает
Oracle 11 SQL Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT 
    FLOOR( open_time / 900 ) * 900 AS open_time,
    MAX(OPEN) AS OPEN,
    MAX(high) AS high,
    MIN(low) AS low,
    MIN(CLOSE) AS CLOSE
FROM 
    klines 
WHERE 
    symbol_id=1 
GROUP BY 
    FLOOR( open_time / 900 ) * 900
ORDER BY 
    open_time DESC 
;
Пытался переделать под Eloquent ORM примерно так и ему подобно
PHP Скопировано
1
2
3
4
5
6
7
8
9
10
11
        \App\Models\Kline::where('symbol_id',1)
            ->select('
                FLOOR( open_time / 900 ) * 900 as open_time,
                max(open) as open,
                max(high) as high,
                min(low) as low,
                min(close) as close
            ')
            ->groupByRaw('FLOOR( open_time / 900 ) * 900')
            ->orderByDesc('open_time')
            ->get();
Но как бы не писал постоянно какието ошибки, то "такое поле не существут" то ещё чёто... Постояноо что то не то. Но уж очень хочется переписать потому что дальше тяжело будет расширять и добавлять разные условия в "сырой" sql...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.10.2021, 15:43
Ответы с готовыми решениями:

Django ORM запрос с подзапросом или переведите SQL в запрос Django ORM
В общем весь вопрос был в заголовке! Есть запрос на SQL он работает нормально вот только не знаю как заставить Django-mptt корректно на...

Как переписать sql-запросы на ORM?
Вот несколько запросов в виде sql, которые хочу попробовать переписать на ORM (больше с целью понимания ORM-а): SELECT * FROM `order` o...

ORM, Symfony 4, SQL Запрос
Объясните пожалуйста, как правильно сделать, мне необходимо получить результат следующего запроса: select value from variables ...

2
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
22.10.2021, 16:12
А зачем тут модель? Модель в eloquent - это отражение таблицы. У вас же кастомный запрос. Используйте query builder.
И вроде бы selectRaw нужен.
1
0 / 0 / 0
Регистрация: 26.10.2016
Сообщений: 5
22.10.2021, 16:27  [ТС]
Ну это сырой запрос в котором я получаю 15 минутный срез данных (900 сек), также нужно будет срезе 30 минут, 1 часа, 4 часов...
И поэтому было бы удобно писать код добавлять разные условия что то вроде этого
PHP Скопировано
1
\App\Models\Kline::where('symbol_id',1)->slice15m()->offset(100)->limit(50)->get();
или что то типо
PHP Скопировано
1
\App\Models\Kline::sliceMinutes(15)->get();
Добавлено через 4 минуты
Кстати спасибо за "selectRaw" - чуток продвинулся в написании кода )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.10.2021, 16:27
Помогаю со студенческими работами здесь

Eloquent SQL reference
Создал репозиторий с сырыми SQL запросами, генерируемыми Eloquent ORM. Может быть, кому-то будет полезно в работе, при подготовке к...

Переписать SQL запрос в LINQ запрос
День добрый всем. Подскажите, пожалуйста, как можно преобразовать запрос: SELECT Price * (SELECT COUNT(SeatNumber) FROM...

Переписать SQL запрос в LINQ запрос
Подскажите, пожалуйста, как можно преобразовать запрос: select field1, field2, max(field3) from table group by field1,...

Написать сложный запрос ELOQUENT. Выборка
Здравствуйте, вот моя модель User class User extends Authenticatable { use Notifiable; /** * The attributes...

Переписать запрос SQL на LINQ
всем доброго времени суток! помогите написать запрос на LINQ вот он на MS SQL: SELECT p.Product_id, m.Manufacturer_name,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Линейное решение нелинейной задачи. Выведение формул LM (сам тоже могу, но хочу проверить LM)
Hrethgir 10.04.2025
В продолжение Эта LM дала ответ похожий на нормальный. Assistant qwen2. 5-14b-instruct . Сначала изображение (переделаю в лучший вид когда проверю что мне написала языковая модель). . .
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
Линейное решение не линейной задачи (емкость вычислений в сравнении с традиционными решениями пока не определена).
Hrethgir 10.04.2025
В рамках предстоящих вычислений пришлось (да, я тоже знаю про корень числа, и про степеня, и прочие теоремы, но. . . ) найти способ нахождения отношения двух углов. . . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
Vue SFC компонент на PHP с Fusion
Jason-Webb 09.04.2025
PHP на сервере и JavaScript на клиенте — классическое сочетание, которое, несмотря на свою эффективность, создает определенный когнитивный диссонанс при разработке. В этом контексте появляются. . .
TypeScript vs JavaScript: Отличия и когда что использовать
Reangularity 09.04.2025
JavaScript появился в 1995 году как творение Брендана Эйха и быстро стал основой интерактивности в вебе. За свою историю он прошел путь от простого языка для манипуляций с DOM до полноценной. . .
Подключение Kafka к Elasticsearch
Codd 09.04.2025
Apache Kafka и Elasticsearch — две мощные технологии, которые при совместном использовании создают эффективную платформу для обработки и анализа данных в реальном времени. Kafka, выступая в роли. . .
Реализации таймеров в Unity
GameUnited 09.04.2025
Время — важный ресурс любой игры. Разработка качественных игровых механик невозможна без грамотного управления временем, а таймеры выступают ключевым инструментом этого управления. Представьте себе. . .
Функции высшего порядка в JavaScript
run.dev 09.04.2025
Функции высшего порядка представляют собой один из фундаментальных камней функционального программирования в JavaScript. По сути, это функции, которые либо принимают другие функции в качестве. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер