ユーザーに 10 個のゲーム ピックを作成してから、信頼度に基づいてピックを並べ替えるように求めるフォームがあります。jQuery のソート可能な関数を使用して、非表示のフォーム要素 (order-array) に注文の更新ごとにシリアル化された文字列を入力しています。私の問題は、送信後にコントローラーでこのシリアル化されたデータの配列を処理して、それ (および実際のゲームの選択) をデータベースに保存できるようにする方法です。
マイフォームビュー
{{ Form::open() }}
<h1>Games for Week {{ $weeknum }} </h1>
<h3>Visitors @ Hometeam</h3>
<input type="hidden" name="order-array" id="order-array" value="">
<ul id="gamelist">
<?php $count = 1; ?>
@foreach($games as $game)
<li class="game-rank" id="c_{{ $count }}">
<input type="radio" name="{{ "pick_".$game->id }}" value="{{ $game->visitor }}">
{{ $game->visitor }} @
<input type="radio" name="{{ "pick_".$game->id }}" value="{{ $game->hometeam }}">
{{ $game->hometeam }}
<input type="hidden" name="{{ "game_".$count }}" value="{{ $game->id }}">
</li>
<?php $count++; ?>
@endforeach
</ul>
@if(Auth::check())
{{ Form::hidden('player', $player) }}
{{ Form::submit('Submit Picks', array('class' => 'link-button')) }}
@endif
{{ Form::close() }}
コントローラに渡されるシリアル化された信頼データ
"c[]=1&c[]=3&c[]=9&c[]=4&c[]=5&c[]=6&c[]=2&c[]=7&c[]=8&c[]=10"
私のコントローラー機能
public function post_new()
{
$confidence = Input::get('order-array');
for ($i=1;$i<=10;$i++) {
$array_index = $i-1;
$pick = new Pick;
$pick->user_id = Input::get('player');
$pick->game_id = Input::get("game_$i"); // game number
$pick->pick = Input::get("pick_$i"); // teamname
$pick->confidence = $confidence[$array_index];
$pick->save();
}
return Redirect::to ('users');
}
信頼データを除いて、すべてが機能します。コントローラーにどのような調整を加える必要がありますか?
ありがとう!!