Преобразовать необработанный запрос в красноречивый запрос в laravel

ВЫБЕРИТЕ DISTINCT enrich_customers.id ИЗ enrich_chat_message ВНУТРЕННЕЕ СОЕДИНЕНИЕ enrich_customers ON enrich_chat_message.sent_by = enrich_customers.id || enrich_chat_message.received_by = enrich_customers.id где (enrich_chat_message.sent_by = 3 || enrich_chat_message.received_by = 3) и enrich_customers.id! = 3

преобразовать необработанный запрос в красноречивый запрос

ВЫБЕРИТЕ DISTINCT enrich_customers.id ИЗ enrich_chat_message ВНУТРЕННЕЕ СОЕДИНЕНИЕ enrich_customers НА enrich_chat_message.sent_by = enrich_customers.id || enrich_chat_message.received_by = enrich_customers.id где (enrich_chat_message.sent_by = 3 || enrich_chat_message.received_by = 3) и enrich_customers.id! = 3

К:

DB::table('chat_message')
    ->select('customers.id')
    ->JOIN('customers','chat_message.received_by','=','customers.id','||','customers','chat_message.sent_by','=','customers.id')
    ->where('chat_message.sent_by',3)                         
    ->orWhere(function($q) use ($authid){
        $q->where('chat_message.sent_by',3)
        ->orwhere('chat_message.received_by',3);
    })->where('chat_message.sent_by','!=', 3)                       
    ->distinct()->get();

Не могли бы вы пояснить, почему разница в именах таблиц между вашим необработанным запросом и красноречивым запросом?

Josh 19.11.2018 08:19

Каков твой вопрос??

Rwd 19.11.2018 09:40
Стоит ли изучать 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-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
2
46
1

Ответы 1

DB::table('chat_message') ->JOIN('customers','chat_message.received_by','=','customers.id','||','customers','chat_message.sent_by','=','customers.id')
->select('customers.id')
->where('chat_message.sent_by',3)                         
                 ->orWhere(function($q) use ($authid){
                          $q->where('chat_message.sent_by',3)
                          ->orwhere('chat_message.received_by',3);
                      })->where('chat_message.sent_by','!=', 3)                       
                 ->groupBy(customers.id)->get();

Попробуйте groupBy вместо отличного

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