Laravel集体表单选择返回选项值 - 这可以吗?

时间:2016-02-07 01:10:39

标签: php html forms laravel

我正在和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);
 }

我的表单看起来: my test form

但问题是在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. 我的select中只有一个选项,所以我在某处读到使用toArray方法提供的元素可以获得元素的正确id而不是数组索引。对于第一个元素,它应该读为“1”而不是“0”,我想要这个,因为在我的数据库中,我从1开始自动增加主键。当我查看源代码时:
  3. <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>

    所以看起来第一个选项是空的。 原谅我如果我不清楚。如果有任何问题,我会尽力澄清。

1 个答案:

答案 0 :(得分:0)

这是value属性对select选项的作用,因此这是使用Select而不是Laravel或Collective问题的任何事物的预期行为。

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