Home > php > CakePHP: creazione di un modello on the fly

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

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>