2016-11-11 8 views
0

뷰에 전달되는 변수에 데이터 덤프를 수행했는데 올바른 데이터 조각이 들어 있다는 것을 알고 있습니다. 배열로 전달되는 대신 HTML에 내장 된 옵션이있는 드롭 다운으로 확인했습니다. 예. 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->prefixForm::select에 대한 첫 번째 인수로 단순한 prefix 대신 잘 작동합니다.

그러나이 같은 드롭 다운 목록에 두 번째 인수로가는 배열이 드롭 다운에 대한

:

<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은 두 개의 다른 변수입니다. 하나는 옵션을 포함하고 후자는 특정 개인에 대한 데이터 항목을 포함합니다. 문제는 키와 값이 일치하지 않는다고 생각합니다 ... 첫 번째 select의 옵션에 KV 쌍이 있기 때문에 작동하기 때문에 ... 잘 모르겠습니다. 당신들 생각은 어떨까요?

+0

이 모델에 '팀'속성이 있습니까? 이 속성이 문자열인지 여부 –

답변

1

당신의 경우 laravel은 저장되어있는 데이터베이스 필드를 사용하여 배열 키를 확인합니다. 데이터베이스 값을 사용하여 select에 보관 된 배열 키와 일치하면 자동으로 선택됩니다. 귀하의 배열이

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

와 같은 '는이'다음 데이터베이스에 저장되어 자동 이름 1을 선택합니다. 따라서 저장된 배열 키와 데이터베이스 값을 확인하십시오