我在heroku上运行了一个Laravel应用程序,并构建了一个多步表单,它可以在每一步更新对象。我还使用了HTML库,它帮助我创建表单,请参阅下面的代码。现在我意识到,当我稍后打开表单时,用于selects的模型绑定不起作用。相反,选项数组的第一个选项显示为默认选项。但是,这只发生在生产环境(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() !!}由于代码在生产和本地都是相同的,我不知道它如何产生不同的结果,但是我很高兴听到关于如何解决它的任何建议。提前感谢!
发布于 2018-11-06 23:22:16
通过使用0和1代替'J‘和'N’,我能够解决这个问题。我假设,不同的数据库类型(本地mysql和heroku上的postgresql )处理的字符不同,第二种,而不是第一种。用整数代替了我的问题。
https://stackoverflow.com/questions/53082846
复制相似问题