Как запрограммировать sql-запрос на красноречивый laravel

выберите t2.AGENT_ID, First_Login, last_logout из (выберите AGENT_ID, EVENT_TIME как First_Login из datamart_agent_details где datamart_agent_details.GRP_DBID в ('3') и EVENT_TIME между 18.03.2018 00:00:00 и 18.03.2018 23:59:59 и EVENT = 'ВХОД' группа по agent_id упорядочить по event_time по возрастанию ) t1 левое присоединение (выберите AGENT_ID, EVENT_TIME как last_logout из datamart_agent_details где datamart_agent_details.GRP_DBID в ('3') и EVENT_TIME между 18.03.2018 00:00:00 и 18.03.2018 23:59:59 и EVENT = 'ВЫХОД' группа по agent_id упорядочить по event_time по убыванию ) t2 на t1.agent_id = t2.agent_id

пожалуйста, как я конвертирую это в красноречивый ларавел

Вы пробовали RAW Sql

Jigs1212 20.03.2018 11:32

Попробуйте convert.sql.to.eloquent.org

Amarnasan 20.03.2018 11:45
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
5
2
75
1

Ответы 1

Однажды попробуйте с этим

$fromTempTable = DB::raw("(select AGENT_ID, EVENT_TIME as First_Login from datamart_agent_details where datamart_agent_details.GRP_DBID in ('3') and EVENT_TIME between '2018-03-18 00:00:00' and '2018-03-18 23:59:59' and EVENT = 'LOGIN' group by agent_id order by event_time asc as) t2");

$leftTempTable = DB::raw("(select AGENT_ID, EVENT_TIME as last_logout from datamart_agent_details where datamart_agent_details.GRP_DBID in ('3') and EVENT_TIME between '2018-03-18 00:00:00' and '2018-03-18 23:59:59' and EVENT = 'LOGOUT' group by agent_id order by event_time desc) t1");

DB::table($fromTempTable)
    ->select('t2.AGENT_ID', 'First_Login', 'last_logout')
    ->leftJoin($leftTempTable, 't1.agent_id', '=', 't2.agent_id') 
    ->get();

Вы можете использовать этот запрос как в модели, так и в контроллере. Но стандарт - это модель, поэтому вставьте ее в модель.

Sateesh 21.03.2018 03:25

$ DataTable = AgentLogin :: whereIn ('datamart_agent_details.GRP_DBID', $ array‌ list) -> whereBetween ('EVENT_TIME', array ($ from, $ to)) -> getAllQuery () -> groupInterval ($ interval) это мой контроллер

ahmed.taha 21.03.2018 11:02

return $ query -> leftJoin ('cfg_agent', 'cfg_agent.LOGIN_ID', '=', 'datamart_ag‌ ent_details.AGENT_ID‌') -> select ('t2.AGENT_ID', 'First_Login', 'last_logout') -> leftJoin ($ leftTempTable, 't1.agent_id', '=', 't2.agent_id'), и это мой ответ на запрос

ahmed.taha 21.03.2018 11:06

Другие вопросы по теме