Построитель запросов ИЛИ и IS NULL в Laravel 9

у меня такой запрос

SELECT ruangans.nama_ruangan, beds.id AS idBed, beds.nomor_bed, pasiens.nama, pasiens.status
FROM `beds` JOIN ruangans ON beds.id_ruangan = ruangans.id
LEFT JOIN pasiens ON beds.id = pasiens.id_bed
WHERE pasiens.status != 'Sudah Rawat Inap' OR pasiens.status IS NULL;

Я все еще новичок в Laravel Query Builder, мой вопрос заключается в том, как преобразовать SQL-запрос в Query Builder, особенно в операциях OR и IS NULL. Спасибо

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
72
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий
DB::table("beds")
->join("ruangans", "beds.id_ruangan", " = ", "ruangans.id")
->leftJoin("pasiens", "beds.id", " = ", "pasiens.id_bed")
->select("ruangans.nama_ruangan", "beds.id as idbed", "beds.nomor_bed", "pasiens.nama", "pasiens.status")
->where("pasiens.status", "! = ", 'Sudah Rawat Inap')
->orWhereNull("pasiens.status")
->get();

Laravel предлагает несколько вариантов методов where для добавления предложений «where» в ваши запросы. Вы можете найти их здесь: https://laravel.com/docs/10.x/queries#basic-where-clauses

Вы можете использовать

$query = DB::table('beds')
    ->join('ruangans', 'beds.id_ruangan', '=', 'ruangans.id')
    ->leftJoin('pasiens', 'beds.id', '=', 'pasiens.id_bed')
    ->select(
        'ruangans.nama_ruangan',
        'beds.id AS idBed',
        'beds.nomor_bed',
        'pasiens.nama',
        'pasiens.status'
    )
    ->where(function ($query) {
        $query->where('pasiens.status', '!=', 'Sudah Rawat Inap')
              ->orWhereNull('pasiens.status');
    })
    ->get();

Как вы знаете, мы используем where для фильтрации данных. В этом я использовал механизм подзапроса для фильтрации данных в одной и той же таблице pasiens.


Подробнее о База данных: конструктор запросов

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