Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Доброго времени суток всем....
Ломаю голову над простой вроде-бы задачей:
dd(DB::table('t')->selectRaw(" IF(1=?,1,'2') AS S",[1])->first());
Вроде все просто, и в ответе должен получить что? правильно - 1 как число, а получаю "1" как строку
Причем, если второе значение '2' делаю числом - результат тот - что хотел....
Получается, что идет какая то оптимизация, и если внутри IF один из вариантов строка, второй так же приводится к этому типу (((
В чистых запросах SQL такой ерунды нет ....
Как быть? (попытки приводить принудительно внутри IF к нужному типу - а-ля CAST(1 AS UNSIGNED) не прокатывает