Как перегрузить тип переменной в зависимости от среды исполнения?
Допустим имеется сайт на laravel, продакшн сервер на ubuntu и dev сервер на windows
Проблема в том, что идентичный запрос к бд через eloquent ORM обрабатывается по разному на разных серверах.
Например, App\User::find(1)->where('some_field', 0) на windows выполняется ожидаемо, а на linux только если значение аргумента 'some_field' указать в кавычках т.е. '0'. Через tinker тоже самое. Тип поля some_fields в mysql указан как tinyint.
Возможно ли изменить тип переменной в зависимости от того, на каком из серверов исполняется скрипт?
Например, $id=0, или $id='0'
Но почему вы исправляете следствие вместо причины?
Избавьтесь от windows сервера, по крайней мере для тех проектов, что в продакшене будут на линуксе. Как здесь может быть проблема?