|
DeLibDaysDbTable
ORM zum Arbeiten mit Tabellen
Lang-De allgemeine InformationenMit ORM können Sie mit Datenbanken arbeiten, als würden Sie mit Objekten von PHP arbeiten. Sie brauchen keine SQL Abfragen zu schreiben, um Daten zu erhalten oder speichern. Anstelle dessen müssen Sie die Methoden benutzen, um Daten zu erhalten. ORM wird Sie dabei unterstützen, die Entwicklung zu beschleunigen und vereinfacht es, Änderungen in der Zukunft vorzunehmen. Wie funktioniert ORM?Erstelle eine Klasse für für die Tabelle blog_category (enthält die Kategorie Posts). Dafür erstellen wir eine Datei "/var/www/myblog/app/Model/Table/Blog/Category.php" mit der Klassendefinition: <?php
class Myblog_Model_Table_Blog_Category extends Days_Db_Table {
protected $_name = 'blog_category';
}Ermittle das erforderliche Tabellenobjekt. Das wird folgenderweise gemacht: $tableBlogCategory = Days_Model::factory('table_blog_category');Erhalte die Daten aus der Tabelle: // erhalte Information über eine Kategorie
$category = $tableBlogCategory->find('one', array('where'=>array('id'=>10)));// erhalte alle Kategorien
$categories = $tableBlogCategory->find('all');// erhalte 20 Unterkategorien
$subcategories = $tableBlogCategory->find('all', array(
// gib die Unterkategorien mit id=10 zurück
'where' => array(
'pid' = 10
),
// gib die ersten 20 Reihen zurück
'count' => 20
));// erhalte die Anzahl an Subkategorien
$countCategories = $tableBlogCategory->find('count', array(
// gib die Unterkategorien mit id=10 zurück
'where' => array(
'pid' = 10
)
));// erhalte die ersten 15 Kategorien
$firstCaterories = $tableBlogCategory->find('first', array(
'count' => 15
));// lösche Kategorie $category->delete(); // lösche alle Kategorien des Sets $firstCaterories->delete(); // erstelle eine neue Zeile $newRow = $subcategories->create(); $newRow->name = 'New subcategory'; // speichere Zeile $newRow->save(); Days_Db_Table benutzenDas ist eine Darstellung einer echten Tabelle und ermöglicht Ihnen, Funktionen auf dieser Tabelle auszuführen.
Days_Db_Rowset benutzenRepräsentiert die Gruppe der Zeilen Days_Db_Row. Erlaubt Ihnen diese zu ändern.
Enthält auch die Daten der aktuellen Zeile, als würden wir mit dieser Zeile arbeiten. // Gebe den Namen der ersten Kategorie aus echo $categories->name; Days_Db_Row benutzenRepräsentiert eine Tabellenzeile und erlaubt ihnen, diese zu bearbeiten.
| |