2012-04-23 16 views
5

मेरी नियंत्रक में मैं निम्न चर की स्थापना कर रहा हूँ में चर तक पहुँचने और उन्हें टहनी टेम्पलेट से गुजर:पीएचपी और टहनी: मुसीबत टेम्पलेट

$data = $model::all(); // returns object [phpactiverecord] 
$fields = getFields(); // returns associative array 

मेरे टेम्पलेट में, मैं इस तरह का उपयोग कर सकते उन्हें प्रयास कर रहा हूँ:

{% block rows %} 
    {% for row in data %} 
      <tr> 
    {% for field in fields %} 
       <td>{{ row[field.name] }}</td> 
    {% endfor %} 
      </tr> 
    {% endfor %} 
{% endblock %} 

इस परिदृश्य में, $ क्षेत्रों के रूप में परिभाषित किया गया है:

Array 
(
    [0] => Array 
     (
      [name] => id 
      [display] => Id 
     ) 

    [1] => Array 
     (
      [name] => name 
      [display] => Name 
     ) 

) 

और $ डेटा की एक सरणी है phpactiverecord वस्तुओं।


जैसा ऊपर लिखा गया है, पंक्ति [field.name] के लिए कुछ भी आउटपुट नहीं है।

row.name  -> outputs Value I would expect from row[field.name] 
field.name  -> outputs "name" 
row['name']  -> outputs nothing 
row[field.name] -> outputs nothing 

Twig site के अनुसार:: आप एक बिंदु एक चर की विशेषताओं पहुँचने के लिए उपयोग कर सकते हैं ((।)

यहाँ परिणाम मैं देख रहा हूँ अगर मैं [field.name] पंक्ति बदल रहे हैं एक PHP ऑब्जेक्ट के तरीकों या गुण, या एक PHP सरणी के आइटम), या तथाकथित "सबस्क्रिप्ट" वाक्यविन्यास ([]):

इसे काम करने के लिए कोई विचार? यदि आप एक पर एक डायनामिक विशेषता प्राप्त करना चाहते हैं

उत्तर

4

आप संस्करण 1.2 या बाद में उपयोग कर रहे हैं, attribute समारोह

{{ attribute(row, field.name) }} 

यह भी page you linked to पर उल्लेख किया है ...

कोशिश चर, इसके बजाय विशेषता समारोह का उपयोग करें।

+0

यह ठीक करता है - धन्यवाद! – sonicradish

संबंधित मुद्दे