2016-11-11 8 views
0

ビューに渡される変数にデータダンプを実行しましたが、正しいデータが入っていることがわかりました。配列として渡されるのではなくHTMLに組み込まれたオプションを持つドロップダウンでチェックしました。 など。Laravelのフォームモデルバインディングは、データベースから正しいオプションをあらかじめ選択していません。ドロップダウンリスト

<div class="col-sm-7"> 
    {{Form::select('prefix', ['Mr'=>'Mr','Ms'=>'Ms','Mrs'=>'Mrs','Miss'=>'Miss','Dr'=>'Dr','Prof'=>'Prof'],null,['id'=>'prefix','class'=>'select2 select-block-level chzn-select','name' => 'prefix'])}} 
</div> 

このドロップダウンでは、すべて正常に機能します。私は正しい選択肢があらかじめ選択されているのを見て、私は彼らがそうであるようにオプションを見る。 $data->prefixも、Form::selectへの最初の引数として単純なprefixの代わりに正常に動作します。

しかし、このようなドロップダウンリストの2番目の引数として配列行く持っているドロップダウンのために:

<div class="col-sm-7"> 
    {{Form::select('team',$data->teams,null, ['id'=>'team','class'=>'select2 select-block-level chzn-select','name'=>'team','required'=>'required'])}} 
</div> 

を...最初のオプションは、常に関係なく、そこにどのような値が、選択されていません$data->teamのデータベースにあります。レコードの場合、$data->teams$data->teamは2つの異なる変数です。 1つはオプションを含み、後者はその特定の人物のデータ項目を含む。 問題は、キーと値が一致しないと思います...最初のselectのオプションがKVペアを持っているため...うまくいきます...私は分かりません。あなたはどう思いますか?

+0

このモデルには「チーム」プロパティがありますか?このプロパティは文字列ですか? –

答えて

1

あなたのケースでは、格納されているデータベースフィールドを使用してアレイキーをチェックします。データベース値を使用して選択項目に保持されている配列キーと一致する場合は、自動的に選択されます。あなたの配列などは

`$array=['a' =>name1,'b' => 'name2']`. 

「a」がデータベースに格納されている場合は、name1が自動的に選択されています。したがって、格納されている配列キーとデータベース値を確認してください

関連する問題