Katalysator :: Modell :: DBIC :: Schema

DBIX :: Klasse :: SCHEMA-Modellklasse
Jetzt downloaden

Katalysator :: Modell :: DBIC :: Schema Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Rafael Kitover
  • Website des Verlags:
  • http://search.cpan.org/~rkitover/

Katalysator :: Modell :: DBIC :: Schema Stichworte


Katalysator :: Modell :: DBIC :: Schema Beschreibung

DBIX :: Klasse :: Schema-Modellklasse Katalysator :: Modell :: DBIC :: SCHEMA ist ein Katalysatormodell für DBIX :: Klasse :: Schema-basierte Modelle. Siehe die Dokumentation zum Katalysator :: Helper :: Modell :: DBIC :: SCHEMA Informationen zum Erstellen dieser Modelle über Helper-Skripts.Wenn Ihre Katalysator-App startet, wird eine dünne Modellebene als Schnittstelle zu Ihrem DBIC-Schema erstellt. Es sollte eindeutig angemerkt werden, dass das von $ c->-Modell ('filmdb') zurückgegebene Modellobjekt nicht selbst ein DBIC-Schema- oder ResultSet-Objekt ist, sondern lediglich ein Wrapper-Proving-Methoden, um auf das zugrunde liegende Schema zuzugreifen. Zusätzlich zu dieser Modellklasse, Eine Verknüpfungsklasse wird für jede Quelle im Schema erzeugt, sodass ein einfacher und direkter Zugriff auf ein Ergebnis des entsprechenden Typs zugreifen kann. Diese erzeugten Klassen sind sogar dünner als die Modellklasse, wodurch keine öffentlichen Methoden bereitgestellt werden, jedoch einfach den ACCESSION-Mechanismus von Catalyt-ACCESALT (ACCESY_CONTEXT einleiten. Der vollständige Inhalt jeder erzeugten Klasse äquivalent ist ungefähr folgendermaßen folgenden Angaben: Paket MyApp :: Modell :: filmdb :: Actor Sub Accept_Context {My ($ self, $ c) = @_; $ c-> Modell ('filmdb') -> resultSet ('Schauspieler'); } Kurz gesagt, es gibt drei Techniken, um ein DBIC-Ergebnisset-Objekt zu erhalten. # Verwenden der Verknüpfungsmethode auf dem Modellobjekt Meine $ RS = $ C-> Modell ('filmdb') -> resultSet ('Schauspieler'); # Verwenden der generierten Klasse direkt My $ RS = $ C-> Modell ('filmdb :: Actor'); Um Methoden zu einem DBIC-Ergebnisset hinzuzufügen, können Sie sie nicht einfach zur Definitionsklasse Quelle (Zeile, Tabelle) hinzufügen. Sie müssen eine separate benutzerdefinierte Ergebnisset-Klasse definieren. Siehe "vordefinierte Suchen" in dBIX :: Klasse :: Handbuch :: Kochbuch für weitere Informationen. Synopsmismanuelle Erstellung eines DBIX :: Klasse :: Schema und ein Katalysator :: Modell :: DBIC :: Schema: 1. Erstellen Sie das DBIX: Klassenschema in MyApp / SCHEMA / FILMDB.PM: Paket MyApp :: SCHEMA :: filmdb; Verwenden Sie Base QW / DBIX :: Klasse :: Schema /; __Package __-> load_classes (qw / aktienrolle /); 2. Erstellen Sie einige Klassen für die Tabellen in der Datenbank, z. B. ein Schauspieler in MYAPP / SCHEMA / FILMDB / Actor.pm: Paket MyApp :: Schema :: FilmDB :: Actor; Verwenden Sie Basis QW / DBIX :: Klasse / __package __-> Load_components (QW / Kern /); __Package __-> Tabelle ('Schauspieler'); ... und eine Rolle in MyApp / SCHEMA / FILMDB / ROT.PM: Paket MyApp :: Schema :: filmdb :: Rolle; Verwenden Sie Basis QW / DBIX :: Klasse / __package __-> Load_components (QW / Kern /); __Package __-> Tabelle ('Rolle'); ... Beachten Sie, dass das Schema in MyApp :: Schema ist, nicht in MyApp :: Modell. Auf diese Weise ist es als eigenständiges Modul verwendet, und Sie können es ohne Katalysator testen / ausführen. 3. Um ihn dem Katalysator als Modell freizulegen, sollten Sie ein DBIC-Modell in MyApp / Modell / FilmDB.PM erstellen: Paket MyApp :: Modell :: filmdb; Verwenden Sie Base QW / CATALYST :: Modell :: DBIC :: Schema /; __Package __-> config (schema_class => 'myapp :: schema :: filmdb', connect_info => {dsn => "dbi: ...", Benutzer => "Benutzername", Passwort => "Passwort",}); Anforderungen: · Perl.


Katalysator :: Modell :: DBIC :: Schema Zugehörige Software