Laravel поместил NULL в кавычки - PullRequest
       8

Laravel поместил NULL в кавычки

0 голосов
/ 12 сентября 2018

Я бы хотел сделать запрос на объединение с Laravel Eloquent.Когда мы выполняем запросы UNION, в обоих запросах должно быть одинаковое количество выбранных столбцов.Чтобы пропустить это правило, я хотел бы выбрать NULL как Column_name, но Laravel API автоматически заменяет NULL на 'Null', что приводит к ошибке "Null column не существует".

Как удалить эти автоматически добавленные кавычки из Null?

Вот что у меня есть: Первый запрос:

...->select("Calendars.*","Services.Id as IdService","Services.Name as ServiceName","NULL as Price")

Второй запрос:

...->select("Calendars.*","Services.Id as IdService","Services.Name as ServiceName","PaidService.Price")

Результат:

...union (select `Calendars`.*, `Services`.`Id` as `IdService`, `Services`.`Name` as `ServiceName`, `NULL` as `Price` from `Calendars`

Большое спасибо!

1 Ответ

0 голосов
/ 12 сентября 2018

Рассмотрите возможность использования DB :: raw для этого.Он остановит laravel от изменения оператора и проанализирует его как есть.

DB::raw("NULL as Price")

, который сделает первый запрос

...->select("Calendars.*",
            "Services.Id as IdService",
            "Services.Name as ServiceName",
            DB::raw("NULL as Price"))
...