我正在与Laravel作斗争。我有一个非常奇怪的问题,我没有选择:
我的表单部分看起来:
<?php $listadzialow = 'App'Dzial::lists('nazwa_dzialu')->toArray();
var_dump($listadzialow);
?>
<div class="form-group">
{!! Form::label('jakidzial','Jaki dział:') !!}
{!! Form::select('jakidzial',$listadzialow,null,['placeholder'=>'Do jakiego działu należy','class'=>'form-control','id'=>'dzialselect']) !!}
</div>
<!-- Submit form button for Dodaj cykl -->
<div class="form-group">
{!! Form::submit('Dodaj cykl',['class'=>'btn btn-primary form-control']) !!}
"提交"后,它会转到我有功能的控制器:
public function store()
{
$input = Request::all();
$id = Request::get('dzialdlacyklu');
$nazwa_cyklu = Request::get('nazwa_cyklu');
var_dump($input);
}
我的表单看起来:我的测试表格
但问题是,在var_dump($input(中我看到:
array(3) { ["_token"]=> string(0) "" ["nazwa_cyklu"]=> string(12) "kolejny cykl" ["jakidzial"]=> string(1) "0" }
这意味着提交后,传递的是值字段而不是选项的文本(在我的示例字符串"Dzial"中(。
- 这是php/laravel/eloquent/collective的预期行为吗?
- 我的选择中只有一个选项,所以我在某处读到使用 toArray 方法可以让您获得元素的正确 id 而不是数组索引。对于第一个元素,它应该读作"1"而不是"0",我想要这个,因为在我的数据库中,我的主键从 1 自动递增。当我查看源代码时:
<select class="form-control" id="dzialselect" name="jakidzial"><option selected="selected" value="">Do jakiego działu należy</option><option value="0">Dział</option></select>
所以看起来第一个选项是空的。如果我不清楚,请原谅我。如果有任何问题,我会尽力澄清。
这是
value
属性在选择选项上的角色,因此这是任何使用选择的预期行为,而不是Laravel或Collective的问题。
如果要在选项标签和值上具有相同的值,则需要创建一个由值键控的自定义数组!