@cyrildotcom

Как перегрузить тип переменной в зависимости от среды исполнения?

Допустим имеется сайт на 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'
  • Вопрос задан
  • 167 просмотров
Решения вопроса 1
@Silm
В Laravel есть настройка среды: https://laravel.com/docs/5.2/configuration#environ...

Но почему вы исправляете следствие вместо причины?
Избавьтесь от windows сервера, по крайней мере для тех проектов, что в продакшене будут на линуксе. Как здесь может быть проблема?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы