0

コントローラ:

$employee = Staff::where('staff_id', '=', $id)->where('user_role', '=','Employee')->first();
$emp_loc = $employee->locations()->pivot()->only('loc_id');
$locations_list = Location::lists('address1', 'loc_id'); //get list of locations

意見:

<!--location -->
<div class="control-group">
<label class="control-label">Location</label>
<div class="controls">
@if(isset($emp_loc))
{{ Form::select('location', $locations_list, $emp_loc) }}
@else
{{ Form::select('location', $locations_list) }}
@endif
</div>
</div>

3 番目のパラメーターは、選択ボックスの既定値を意味しますが、常に最初の値から始まります。

ソースコード:

<div class="control-group">
<label class="control-label">Location</label>
<div class="controls">
<select name="location"><option value="1">Bethel</option><option value="2">Brooklyn</option><option value="3">Germantown</option><option value="4">Memphis</option><option value="5">Brooklyn</option></select>        </div>
</div>

デフォルト値が設定されていませんか?

4

1 に答える 1

1

データベース構成の問題である可能性があります。

移行ファイルに戻り、外部キーが正しく設定されていることを確認してください。これは、それらを適切に設定するために私が行うことです:

Schema::create('pivot', function(Blueprint $table) {
  $table->increments('id');
  $table->unsignedInteger('loc_id');
  $table->foreign('loc_id')
   ->references('id')->on('location_list');
  .....
}

Schema::create('location_list', function(Blueprint $table) {
  $table->increments('id');
  .....
}

また、Firefox ではselected値が正しく表示されないので注意してください。これを修正するには、ドロップダウン リストを (Blade で) 次のように変更します。

Form::select('location', $locations_list, $emp_loc, array('autocomplete'=>'off'))

この最後の部分は、Firefox の奇妙な動作です。

于 2013-09-14T12:35:33.617 に答える