Как использовать IF SQL в Eloquent? - PullRequest
0 голосов
/ 16 мая 2019

Не знаю, как написать этот код в Laravel / Eloquent.

Пытался использовать когда (), но у меня не работает.

$sql_string = "SELECT * 
        FROM 
            (
            SELECT name, priority, zone, hours, price, 
            IF (@day_hours >= ?, @day_hours := 0, @day_hours) AS hours_if, 
            IF (@day_hours = 0, @days := @days + 1, @days) AS days_if, 
            @days AS day, 
            @day_hours := @day_hours + hours AS day_hours, 
            @budget := @budget - price AS budget 
            FROM $table_name, (select @day_hours := 0, @days := 0, @budget := ?) AS INIT
            ORDER BY priority, zone 
            ) AS DATA 
        WHERE budget > 0 AND day <= ?";

Я ожидаю, чтобы подготовиться к использованию Eloquent код: D

1 Ответ

0 голосов
/ 16 мая 2019

Вы можете использовать DB :: Raw для следующих условий:

->select(DB::raw('IF (@day_hours >= ?, @day_hours := 0, @day_hours) AS hours_if'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...