2016-11-25 9 views
1

私はセッション中の配列を持っていますが、私はそれらを表示できません。 マイコード: コントローラー:symfony3 twigとshowのセッション配列

$game = $request->query->get('game'); 
    $type = $request->query->get('type'); 
    $odd = $request->query->get('odd'); 

    $kupon = array(
       'game' => $game, 
       'type' => $type, 
       'odd' => $odd, 
       ); 

    $this->get('session')->set('kupon', $kupon); 

「ゲームは」は、例えばある:「アーセナル - チェルシー」、「type」は1のような数であり、奇数は「2.2」のような浮動小数点数です。

小枝ファイル:

{% if app.session.get('kupon') is not null %} 
<table> 
{% for kupon in session %} 
    <tr> 
     <td>{{ kupon.game }}</td> 
     <td>{{ kupon.type }}</td> 
     <td> </td> 
    </tr> 
{% endfor %} 
</table> 

、すべてOK、私がログインし、showデータセッションしようとすると、私はこのエラーを持っている:

Impossible to access an attribute ("game") on a string variable ("PNdjNUeuZ_d5uJlm1VG7zPZhp2Vb4CY3nDf93vAQ574") in baw\kupon.html.twig at line 13.

この変数は、後のログインセッションからです私はそれに関するダンプ情報をチェックしました:

array(3) { 
["_csrf/login"]=> string(43) "PNdjNUeuZ_d5uJlm1VG7zPZhp2Vb4CY3nDf93vAQ574" ["login"]=> string(4) "test" 
["kupon"]=> array(3) { ["game"]=> string(31) "Arsenal Londyn - Chelsea Londyn" ["type"]=> string(1) "1" ["odd"]=> string(3) "2.2" } } 

そして今私はこれを修正する考えはありません。

+0

symfony2または3を使用していますか?正しいタグを使用してください。 – NDM

+0

申し訳ありませんが、symfony 3 – zupaaa

答えて

2

{% for kupon in session %}は、あなたが何をしたいのか

app.session.get('kupon')以上のループがありません。

{% for kupon in app.session.get('kupon') %} 

しかし、あなたを見てはapp.session.get('kupon')はただ1つのデータセットなので、あなたもループCANT(とのこと、データをダンプ目的の結果)...

それだけで次のようになります。

{{ app.session.get('kupon').game }} 
あなたのデータについて

余分な説明:あなたはあなたのセッションでこれを持っている:あなたは、あなたのデータ型のコレクションを作るために

​​

これらをループできるようにする必要があります:

"kupon" => [ 
    [ 
     "game" => ... 
     "type" => ... 
     ... 
    ], 
    [ 
     "game" => ... 
     "type" => ... 
     ... 
    ], 
    .... 
] 
+0

ok、私はそれを変更しましたが、今はすべてがx3です。私が個別に持っている必要があります配列を持つすべてのデータは、例えば: '​​名姓​​名姓': '​​名​​姓'、今私はそのようなものを持っています。私はこれに変わります: '{appupession.get( 'kupon')%}'のkupon%と '​​{{app.session.get( 'kupon')。game}}'に変更します。私は 'kupon.game'でも何かしようとしましたが、エラーがありました:_" bear \ kupon.html.twigの文字列変数( "Arsenal Londyn - Chelsea Londyn")の属性( "ゲーム")にアクセスすることはできません13行目 "_ – zupaaa

+0

' {{app.session.get( 'kupon')。ゲーム}} 'を試しましたか? –

+0

私が言ったように、データはコレクションではないので、これをループに入れることはできません。あなたは "kupon"のインスタンスを1つだけ持っています。私は明確な例で私の答えを更新しました – NDM

0

は、以下試してみてください

{% if app.session.get('kupon') is not null %} 
    {% set kupon = app.session.get('kupon') %} 
    <table> 
     <tr> 
     <td>{{ kupon.game }}</td> 
     <td>{{ kupon.type }}</td> 
     <td> </td> 
     </tr> 
    </table> 
{% endif %} 
関連する問題