Laravel集体形式选择返回选项值 - 这可以吗


Laravel collective form select returns option value - is this ok?

我正在与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"中(。

  1. 这是php/laravel/eloquent/collective的预期行为吗?
  2. 我的选择中只有一个选项,所以我在某处读到使用 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的问题。

如果要在选项标签和值上具有相同的值,则需要创建一个由值键控的自定义数组!