2016-09-20 1 views
0

Ich verwende derzeit Latte Dinge zu tun. Was ich nicht herausfinden kann ist, wie man eine foreach-Schleife für eine Abfrage mit ihren Template-Variablen verwendet. Mein Code unten zurückkehren würde immer in Trying to get property of non-objectPHP - Latte Vorlage foreach Eigenschaft von Nicht-Objekt

$query = $this->db->query("SELECT id FROM table"); 
    $array = array(); 
    while($fetch = $query->fetch_array()){ 
    $array = $fetch; 
} 


$Template["qclisting"] = $array; 

Und die Template-Code

{foreach $qclisting as $item} 
<a href="" class="list-group-item clearfix"> 
    <span class="clear"> 
    <span>{$item->id}</span> 
    </span> 
</a> 
{/foreach} 
+0

Vorerst bitte, versuchen Sie, Variable wie diese Dump '{Dump $ qclisting}' - vor foreach Zyklus - und sehen, was Ihr Debug-tracy Konsole – pedrouan

+0

kehrt @pedrouan Es gibt: Array (1) 0 => Array (2) 0 => "1" id => "1" –

Antwort

1

in Ihrer Vorlage verwendet

$item['id'] 

... statt ...

$item->id 

Und entfernen Sie die [] von Zeile 4 des Codes:

$array = $fetch; 

UPDATE:

Wenn Sie nur die erste Zeile der Ausgabe zu sehen sind, dann war ich falsch. Fügen Sie wieder die [] in der vierten Zeile des Codes:

$array[] = $fetch; 
+0

Kann nicht glauben, dass ich dies nicht ausprobieren ... danke Sie :) –

+0

Meine Antwort aktualisiert. Es würde basierend auf Kommentaren zu Ihrer Frage erscheinen, dass Sie auch eine zusätzliche Dimension in Ihrem $ qclisting-Array haben. – Dave

+0

@P.Nick Nun, ich dachte du codierst in Nette Datenbank, also könnte es nicht möglich sein so auf sie zuzugreifen. Es ist sicher eine einfache Lösung. – pedrouan