3

ユーザーに 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');
}

信頼データを除いて、すべてが機能します。コントローラーにどのような調整を加える必要がありますか?
ありがとう!!

4

0 に答える 0