alias
y name
son propiedades en modelos de torta. Parecen ser similares, pero dado que ambos existen, debe haber una diferencia. ¿Qué es?¿cuál es la diferencia entre model-> alias y model-> name en CakePHP?
Respuesta
Supongo, pero un alias podría ser el valor asignado cuando tienes una relación entre un modelo y otro y le das al modelo asociado un nombre que no es igual al de la clase.
Por ejemplo:
$hasMany = array('UserNew' => array('className' => 'User'));
En ese caso, usted está utilizando el modelo que se llama en realidad usuario, pero se está haciendo referencia a ella como 'UserNew'.
Es una colección de alias de tabla que se usa cuando cake se une. De cake/lib/model/model_php5.php
:
/**
* Alias table names for model, for use in SQL JOIN statements.
*
* @var array
* @access public
*/
var $alias = array();
Si desea cambiar temporalmente la mesa en un modelo, y que está anulando la magia CakePHP DE, cambiar $ this-> alias a lo que usted quiere llamar. $ this-> name parece ser usado en el constructor y debe construir el alias en algún lugar de ese proceso. Cambiar el nombre de $ this-> en un método que quiera sobrescribir, no es suficiente. Vas a tener que cambiar $ this-> alias y realizar el método setSource() como en la de abajo:
function my_override_method(){
$this->setSource('new_db_table_name_here');
$this->alias = "NewTable";
}
name
: El nombre del modelo, por ejemploPost
.alias
: El alias del modelo, esto se utiliza para registrar la instancia en elClassRegistry
, por ejemploParentThread
.
Tome un vistazo a this cuestión también.
- 1. ¿Cuál es la diferencia entre redirigir y renderizar en CakePHP?
- 2. ¿Cuál es la diferencia entre xtype y alias?
- 3. ¿Cuál es la diferencia entre `alias` y` typedef`?
- 4. ¿Cuál es la diferencia entre `$ this-> name` y` $ this -> $ name`?
- 5. Cuál es la diferencia entre $ y jQuery
- 6. ¿Cuál es la diferencia entre Smarty y Zend?
- 7. ¿Cuál es la diferencia entre + = y = +?
- 8. ¿cuál es la diferencia entre:.! y: r !?
- 9. ¿Cuál es la diferencia entre ".equals" y "=="?
- 10. Cuál es la diferencia entre = y: =
- 11. Cuál es la diferencia entre $ (...) y `...`
- 12. ¿Cuál es la diferencia entre dict() y {}?
- 13. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 14. ¿Cuál es la diferencia entre uint y System.UInt32?
- 15. ¿Cuál es la diferencia entre UNIQUE, UNIQUE KEY y CONSTRAINT 'name' UNIQUE?
- 16. ¿Cuál es la diferencia entre {0} y ""?
- 17. ¿Cuál es la diferencia entre .ToString (+) y ""
- 18. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 19. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 20. ¿Cuál es la diferencia entre " " y ""?
- 21. ¿Cuál es la diferencia entre DOMContentLoaded y DOMContentReady?
- 22. cakephp: ¿cuál es la diferencia entre el modelo y el comportamiento?
- 23. ¿Cuál es la diferencia entre persist() y merge() en Hibernate?
- 24. ¿Cuál es la diferencia entre @ y $ y% en MSBuild?
- 25. ¿cuál es la diferencia entre los navegadores y el nodo?
- 26. PowerShell: ¿Cuál es la diferencia entre 1234 y (1234)?
- 27. ¿Cuál es la diferencia entre "Thread.currentThread(). GetName" y "this.getName"?
- 28. ¿Cuál es la diferencia entre $ each (selector) y .Cada $ (selector)()
- 29. ¿Cuál es la diferencia entre prop y full property?
- 30. ¿Cuál es la diferencia entre DELETE_ORPHAN y DELETE?
$ hasMany = array ('Amigo' => array ('className' => 'Usuario')); habría sido un mejor ejemplo, pero estás en lo correcto. :) Debido a esto, desea utilizar 'alias' siempre que sea posible, ya que nunca puede estar seguro de que' name' es en realidad el objeto que cree que está tratando. – deizel