2017-05-30 7 views
3

あるオブジェクトが存在し、他のオブジェクトは存在しない多次元配列を持っています。データ全体がページで使用されています。それから私はTWIGでそれをチェックする予定です。 例データ:porodType = "1D" でレコードをかどうかを確認する方法レコードが存在するかどうかを調べる方法TWIG - テーブル形式のデータ

array:2[ 
    0 => Data1 { 
    -id: 17 
    -porodType: "1d" 
    -name: "Dally promotion" 
    } 
    1 => Data1 { 
    -id: 34 
    -porodType: "S" 
    -name: "Special" 
    }  
] 

はRESPONSに存在しますか? このメッセージの表示方法:exist(OK)/ no-exist(ERROR)?

TWIGにチェック:

{% for d in Data1 %} 
    {% if d.porodType == '1d' %} 
     <button class="btn">OK</button> 
    {% else %} 
     <button class="btn"">Error</button> 
    {% endif %} 
{% endfor %} 

このコードの結果は次のとおりです。<button class="btn">OK</button><button class="btn">Error</button>

が、私は<button class="btn">OK</button>または

+1

それは、配列をループだし、データの最初のビットは真ので、OKボタンを返しますが、falseを返しますを介して第2のループため、ERRORボタン。 – Alex

+0

私はそれを理解していますが、期待される結果を得る方法を知らない – janek1

+0

配列変数の名前は何ですか?配列内に2つの要素がある 'Data1'を使用しています。私はこれらの2つのサブ配列を保持する配列の名前を知りたい。 –

答えて

3

一つだけのボタンを表示したい場合は<button class="btn">ERROR</button>を期待、あなたに必要があると思いループを中断できないように、フラグのエラーを追跡するTwig

+0

ありがとう@DarkBee。 – janek1

2

小枝のfor..if..elseが現在受け入れ答えよりも簡単かもしれ使用:(任意の反復を持っていなかった)ループが空だったときにelse節キック

{% for d in Data1 if d.porodType == "1.d" %} 
<!-- show error button --> 
{% else %} 
<!-- show the okay button --> 
{% endfor %} 

。タグの

参照ドキュメントは:https://twig.sensiolabs.org/doc/2.x/tags/for.html

+0

そのシンプルで素敵な@Maerlyn – janek1

+0

これは、エラーボタンを複数回表示する可能性があります。 – DarkBee

+0

実際には、それが起こる可能性があるのか​​どうかという疑問には本当に指定されていないかもしれません。その場合は、答えのような変数が必要になります。 – Maerlyn

関連する問題