3.7.8 Attributi dei modelli
Per una lista completa degli attributi dei modelli e per la loro descrizione visitate le CakePHP API. http://api.cakephp.org/1.2/class_model.html.
3.7.8.1 $useDbConfig
Il nome della configurazione di database che questo modello usa. Le configurazioni sono specificate nel file /app/config/database.php come classi. Il valore di preimpostato è 'default'.
3.7.8.2 $useTable
Il nome della tabella di database che il modello utilizza. Il nome della tabella preimpostato è la versione in minuscolo, plurale del nome della classe del modello. Potete impostare questo attributo ad un nome alternativo, o impostarlo a false nel caso non vogliate che il modello abbia una tabella di database corrispondente.
3.7.8.3 $tablePrefix
Il nome del prefisso alle tabella usato per il modello. Il prefisso di default è inizialmente impostato insieme alla configurazione della connessione al database nel file config/database.php. Inserisci in questo attributo la stringa che contiene il prefisso che vuoi usare per il tuo modello. (Per esempio, inserisci una stringa vuota per ignorare completamente il prefisso).
3.7.8.4 $primaryKey
Se il modello è associato ad una tabella, questo attributo contiene il nome della colonna della chiave primaria della tabella. Il valore di default è 'id'.
3.7.8.5 $displayField
Questo attributo è usato per definire il campo nel modello che saà mostrato nello scaffolding. Quando dei dati associati sono mostrati (per esempio quale Ingrediente vorresti associare ad una Ricetta) lo scaffolding userà l'ID della riga, il suo 'nome' o 'titolo' a meno che non sia stato configurato $displayField.
Per esempio, se vuoi che sia usato il campo 'username' del modello invece del default, aggiungi la linea seguente al codice del tuo modello:
var $displayField = 'username';
var $displayField = 'username';
3.7.8.6 $recursive
Un intero che specifica il numero di livelli di dati relativi ai modelli che desideri CakePHP recuperi nelle operazioni find() e findAll().
Immagina che la tua applicazione includa Gruppi che appartengono a un dominio e hanno molti Utenti che a loro volta hanno molti Articoli. Puoi impostare $recursive a valori differenti a seconda del volume di dati che vuoi recuperare con una chiamata a $this->Group->find():- -1 - Cake recupera solo l'oggetto o gli oggetti Gruppi, senza join
- 0 - Cake recupera ogni Gruppo e il suo dominio.
- 1 - Cake recupera ogni Gruppo, il suo dominio e gli Utenti associati.
- 2 - Cake recupera ogni Gruppo, il suo dominio, gli Utenti relativi e gli Articoli associati a quell'utente.
Non impostarlo ad un valore più di quanto effettivamente ti serva: la tua applicazione sarà rallentata dal recupero di molte informazioni
3.7.8.7 $order
L'ordinamento di default per qualsiasi operazione di ricerca. I valori possibili includono:
$order = "campo"
$order = "Model.campo";
$order = "Model.campo asc";
$order = "Model.campo ASC";
$order = "Model.campo DESC";
$order = array("Model.campo" => "asc", "Model.campo2" => "DESC");
$order = "campo"$order = "Model.campo";$order = "Model.campo asc";$order = "Model.campo ASC";$order = "Model.campo DESC";$order = array("Model.campo" => "asc", "Model.campo2" => "DESC");
3.7.8.8 data
The container for the model’s fetched data. While data returned from a model class is normally used as returned from a find() call, you may need to access information stored in $data inside of model callbacks.
3.7.8.9 _schema
Contains metadata describing the model’s database table fields. Each field is described by:
- name
- type (integer, string, datetime, etc.)
- null
- default value
- length
3.7.8.10 validate
This attribute holds rules that allow the model to make data validation decisions before saving. Keys named after fields hold regex values allowing the model to try to make matches.
For more information on validation, see the Data Validation chapter later on in this manual.
3.7.8.11 name
As you saw earlier in this chapter, the name attribute is a compatibility feature for PHP4 users and is set to the same value as the model name.
Example usage:
class Example extends AppModel {
var $name = 'Example';
} class Example extends AppModel {var $name = 'Example';}
3.7.8.12 cacheQueries
If set to true, data fetched by the model during a single request is cached. This caching is in-memory only, and only lasts for the duration of the request. Any duplicate requests for the same data is handled by the cache.
