Lupe Suche
Responsiv Devices

Debugging - Datenbank Zugriff (Query)

Query - Introduction to the Data Model and ORM

Debugging - Anzeige mit print_r()

Alles in 'Page' holen und als Array ausgeben:

    public function LatestUpdates() {    
        $results = Page::get(); // gibt die ganze Liste der Daten zurück
        
        // sql query ausgeführt
        foreach($results AS $result) {
        print_r($result); // das Resultat
        }
        
    }

Gefiltert, wenn 'LastEditedTrue' geklickt wurde, Absteigend sortiert:

    public function LatestUpdates() {    
        $results = Page::get()->filter(array(
                        'LastEditedTrue' => 1
                    ))->sort('LastEdited DESC');
        
        foreach($results AS $result) {
        print_r($result);
        }
        
    }

... zusätzlich noch ein Limit, um nur 2 Datensätze anzuzeigen

    public function LatestUpdates() {    
        $results = Page::get()->filter(array(
                        'LastEditedTrue' => 1
                    ))->sort('LastEdited DESC')->limit(2);
        
        foreach($results AS $result) {
        print_r($result);
        }
    }

Wenn die Anzeige auf 'Title' und 'URLSegment' beschränkt wird:

    public function LatestUpdates() {    
        $results = Page::get()->filter(array(
                        'LastEditedTrue' => 1
                    ))->sort('LastEdited DESC')->limit(3);
        
        foreach($results AS $result) {
        print_r($result->URLSegment." - ".$result->Title);
        }
    }

Query im Controller - Anzeige im View

Aufgabestellung: Die letzten fünf Einträge in der Startseite anzeigen. Diese beim editieren mit einer Checkbox auswählen können. (Es sollen nicht einfach alle editierten Seiten angezeigt werden. Bsp. kleine Korrekturen an einem Seiteninhalt sind keine neuen Einträge, daher die Wahlmöglichkeit).

Das Page-Modell wurde also mit einer Checkbox für 'letzte Einträge anzeigen' ('LastEditedTrue' => 'Boolean') erweitert. Diese Spalte wird in der Query gefiltert.

public function LatestUpdates($num=6) {
        $lastpages = Page::get();
        return ($lastpages) ? Page::get()->filter(array(
                        'LastEditedTrue' => 1
                    ))->sort('LastEdited DESC')->limit($num) : false;
    }

Für den 'View' in der *.ss-Datei wird mit 'loop' eine Schleife erstellt und die einzelnen Resultate als Hyperlink zusammengesetzt.

    <% loop $LatestUpdates %>
    <ul>
        <li><a href="$Link"> $Title</a></li>
    </ul>
    <% end_loop %>

...