0

ユーザーがオプションでオプションを選択できるフォームがあり、ユーザーがオプションを選択しない場合は、デフォルト値の「null」をデータベースに送信する必要があります。私はlaravel 5.1を使用しているので、入力フィールドは次のとおりです。

           <div class="form-group col-lg-4">
                {!! Form::label('cat1', 'CAT Tool 1', ['class' => 'control-label']) !!}
                <div class="input-group">
                    <div class="input-group-addon">
                        <span class="glyphicon glyphicon-cog"></span>
                    </div>
                    {!! Form::select('cat1', $cats , null , ['class' => 'form-control']) !!}
                </div>
            </div>

ここで、$cats配列は CAT ツール ( $cats=['SDL Trados', 'Deja Vu', 'WordFast', 'OmegaT', 'Fluency'];) の配列です。データベース属性の配列が返される同様のフィールドがあります(たとえば、コントローラーの作成メソッドで$languages=Language::lists('fa_name', 'id');)。どうすればこれを達成できますか?

4

2 に答える 2

2

このlistsメソッドは配列を返すために使用されていましたが、Laravel 5.1 以降ではコレクションを返すため、次のように $languages を配列に変換する必要がありました。

$languages=Language::lists('fa_name', 'id')->all();

また

$languages=Language::lists('fa_name', 'id')->toArray();

ビューの次は、次のものを使用できます。

  {!! Form::select('from1', [null => 'Select your language'] + $languages, null , ['class' => 'form-control']) !!}

これにより、選択フィールドに空のオプションが追加されます。

于 2015-09-01T14:29:01.113 に答える