alias
e name
sono entrambe le proprietà in modelli torta. Sembrano simili, ma poiché entrambi esistono, ci deve essere una differenza. Che cos'è?qual è la differenza tra il modello-> alias e modello-> nome in CakePHP?
risposta
Sto indovinando, ma un alias potrebbe essere il valore assegnato quando si ha una relazione tra un modello e un altro e si dà al modello associato un nome diverso da quello della classe.
Ad esempio:
$hasMany = array('UserNew' => array('className' => 'User'));
In tal caso, si sta utilizzando il modello che in realtà chiama l'utente, ma si sta riferimento come 'UserNew'.
Si tratta di una raccolta di alias di tabella utilizzati quando la torta non un join. Da cake/lib/model/model_php5.php
:
/**
* Alias table names for model, for use in SQL JOIN statements.
*
* @var array
* @access public
*/
var $alias = array();
Se si desidera modificare temporaneamente il tavolo in un modello, e si sta ignorando la magia CakePHP DA, modificare $ this-> alias a ciò che si desidera si chiama. $ This-> nome sembra per essere utilizzato nel costruttore e devono costruire gli alias da qualche parte in questo processo. Cambiare $ questo-> nome in un metodo che vuoi sovrascrivere, non è sufficiente. Dovrete cambiare $ this-> alias ed eseguire il metodo setSource() come in seguito:
function my_override_method(){
$this->setSource('new_db_table_name_here');
$this->alias = "NewTable";
}
name
: Il nome del modello, per esempioPost
.alias
: l'alias del modello, questo viene utilizzato per la registrazione dell'istanza nelloClassRegistry
, ad esempioParentThread
.
Date un'occhiata a this domanda anche.
- 1. Qual è la differenza tra reindirizzamento e rendering in CakePHP?
- 2. Qual è la differenza tra `alias` e` typedef`?
- 3. Qual è la differenza tra xtype e alias?
- 4. Qual è la differenza tra il metodo alias e il simbolo alias?
- 5. SBT - Qual è la differenza tra nome e ID?
- 6. Qual è la differenza tra Nome e CanonicalName?
- 7. Qual è la differenza tra Verilog! e ~?
- 8. Qual è la differenza tra `##` e `hashCode`?
- 9. Qual è la differenza tra Smarty e Zend?
- 10. qual è la differenza tra:.! e: r !?
- 11. Qual è la differenza tra ("") e (null)
- 12. qual è la differenza tra [[], []] e [[]] * 2
- 13. Qual è la differenza tra = e: =
- 14. Qual è la differenza tra dict() e {}?
- 15. Qual è la differenza tra? : e ||
- 16. Qual è la differenza tra il callback e la promessa
- 17. Qual è la differenza tra $ e $$?
- 18. Qual è la differenza tra " " e ""?
- 19. Qual è la differenza tra {0} e ""?
- 20. Qual è la differenza tra {0} e +?
- 21. Qual è la differenza tra .ToString() e + ""
- 22. In CakePHP 3.0 qual è la differenza tra initialize() e beforeFilter()?
- 23. Qual è la differenza tra @Named e @Qualifier in primavera
- 24. Qual è la differenza tra DOMContentLoaded e DOMContentReady?
- 25. Qual è la differenza tra "tutti" e "ciascuno" in gradle?
- 26. Qual è la differenza tra rails in_groups e in_groups_of?
- 27. qual è la differenza tra _source e _all in Elasticsearch
- 28. Qual è la differenza tra NSAutoreleasePool e il blocco @autoreleasepool?
- 29. Qual è la differenza tra il titolo e il nome visualizzato
- 30. Qual è la differenza tra net.tcp e il protocollo TCP?
$ hasMany = array ('amico' => array ('className' => 'Utente')); sarebbe un esempio migliore, ma tu hai ragione. :) Per questo motivo, si desidera utilizzare "alias" dove possibile, poiché non si può mai essere sicuri che 'name' sia effettivamente l'oggetto che si ritiene di avere a che fare. – deizel