CakePHP: creazione di un modello on the fly
27 giugno 2011
No Comments
Durante lo sviluppo di un’applicazione con CakePHP può essere necessaria la creazione di un modello “al volo” non definito a priori come classe.
Ecco come fare con poche righe di codice:
$nome_modello = 'onTheFlyModel';
$this->{$nome_modello} = new Model(array(
'name' => $nome_modello,
//nome della tabella da utilizzare
'table' => 'nome_tabella',
//nome dello schema definito in config/database.php
'ds' => 'default'
));
Ora è possibile utilizzare direttamente il modello appena creato allo stesso modo degli altri:
$res = $this->{$nome_modello}->find('all');
o creare una relazione con un altro Model:
$this->altroModel->bindModel(array( 'hasOne' => array( $nome_modello => array( 'className' => $nome_modello, 'foreignKey' => 'foreign_key', 'conditions' => array( $nome_modello.'.active' => 1 ), 'dependent' => false ) ) ));
Tags: cakephp database php snippet
