Laravel Form :: выберите не обязательную для модели в производстве, а локальную - PullRequest
0 голосов
/ 31 октября 2018

Я запускаю приложение Laravel на heroku и создал многошаговую форму, которая обновляет объект на каждом шаге. Я также использую библиотеку HTML, которая помогает мне в создании форм, см. Мой код ниже. Теперь я понял, что привязка модели для селекторов не работает, когда я открываю форму позже. Вместо этого первая опция из массива опций отображается по умолчанию. Однако это происходит только в производственной среде (heroku), а не на моем локальном сервере xampp. Кроме того, привязка модели работает в производстве на числах или строках, только выборки не связываются правильно. Я также проверил, что объект имеет правильное значение, поэтому это не ошибка сохранения базы данных, и все работает нормально.

Просмотрите мой код ниже:

// Form is opened here
{!! Form::model($umzug, ['method'=>'PUT', 'action' => array('UmzugController@update', $umzug->id)]) !!}
...
<div class="col-sm-6">
  {!! Form::label('halteverbot_auszug', 'Halteverbot') !!}
  // Following line prints 'N', as it was selected previously and was therefore saved correctly in the DB
  {{ $umzug->halteverbot_auszug }}
  // Following line should produce a select input with 'Nein' selected, but shown 'Ja' instead 
  {!! Form::select('halteverbot_auszug', ['J' => 'Ja', 'N' => 'Nein'], null, ['class'=>'form-control', 'id'=>'halteverbot_auszug'])  !!}
</div>
...
{!! Form::close() !!}

Поскольку этот код одинаков как на производстве, так и на локальном, я понятия не имею, как он может давать разные результаты, но я был бы рад услышать любые предложения о том, как это исправить. Заранее спасибо!

1 Ответ

0 голосов
/ 07 ноября 2018

Мне удалось решить проблему, используя 0 и 1 вместо «J» и «N». Я предполагаю, что разные типы баз данных (mysql локально и postgresql на heroku) обрабатывают символы по-разному, и второй не так, как первый. Использование целых чисел вместо этого решило мою проблему.

...