cakephp
Instantiieren von Modellen aus einer anderen Datenquelle
Suche…
Bemerkungen
Es wird eine Zeit kommen, zu der Ihre CakePHP-Anwendung mehr als eine Datenbank abfragen muss. Die Methode zum Anfordern von Modellen aus Datenbanken, die keine Standarddatenbanken sind, ist in der offiziellen Dokumentation nicht enthalten.
Instantiating verwendet App ::
App::uses('YourModel', 'Model');
$model_1 = new YourModel(array('ds' => 'default'));
$model_2 = new YourModel(array('ds' => 'database2'));
Im laufenden Betrieb ändert sich die Datenbank für modal
Bei mehreren Datenbanken haben Sie die Datei database.php, in der Sie beliebig viele Datenbanken festlegen können.
Wenn Sie eine Datenbank schnell für ein bestimmtes Modell "wechseln" möchten, verwenden Sie die setDataSource () - Methode.
Wenn Sie beispielsweise über zwei Datenbanken verfügen, können Sie diese in der Datei database.php als "Standard" und "Sandbox" definieren.
Dann in Ihrem Code:
$ this-> MyModal-> setDataSource ('Sandbox');
Die Sandbox ist der Name der Konfiguration, und der tatsächliche Name der Datenbank wird nur einmal in die Datei database.php geschrieben.