Laravel form :: выберите не привязку к модели в производстве, а локальную

Я запускаю приложение 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() !!}

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

Вы добавили коллектив laravel на свой рабочий сервер? возможно, вам следует проверить файл composer.json в производственной среде и обновить композитор в своей производственной среде.

Prafulla Kumar Sahu 31.10.2018 13:43

К сожалению, это решение не решило мою проблему.

Rufrage 31.10.2018 14:44

Что вы пробовали и что получили, есть ли сообщения об ошибке?

Prafulla Kumar Sahu 31.10.2018 17:25

Я запустил heroku run composer update, все было успешно обновлено до последней версии (как в локальном производстве), но исходная проблема не была решена на этом шаге. Я могу предоставить дополнительную информацию, если вы скажете, что вам нужно.

Rufrage 31.10.2018 17:29

Вы проверяли свой файл composer.json в своей работе?

Prafulla Kumar Sahu 31.10.2018 17:31

да. Следующая строка указана в поле «require», так как она находится в локальном режиме: «laravelcollective / html»: «^ 5.4»,

Rufrage 31.10.2018 17:39

Позвольте нам продолжить обсуждение в чате.

Rufrage 31.10.2018 18:44

Я хочу знать, существует ли эта строка в вашем продукте composer.json?

Prafulla Kumar Sahu 01.11.2018 08:11

Да это существует

Rufrage 01.11.2018 16:23

Я бы посоветовал вам создать проблему в github, если вы не получаете сообщения об ошибке.

Prafulla Kumar Sahu 02.11.2018 05:40
0
10
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Другие вопросы по теме