alias
ve name
kek modellerinde hem de özelliklerdir. Onlar benzer gibi görünüyor, ancak her ikisi de mevcut olduğundan, bir fark olmalı. Bu nedir?
Ben tahmin ediyorum, ama sen bir model ve başka arasında bir ilişki var ve ilişkili modeli sınıfa eşit olmayan bir isim vermek zaman bir takma atanan değer olabilir.
Örneğin:
$hasMany = array('UserNew' => array('className' => 'User'));
Bu durumda, aslında Kullanıcı deniyor modelini kullanıyorsanız, ancak 'UserNew' olarak referans ediyoruz.
Eğer geçici bir modelde tabloyu değiştirmek istiyorsanız ve DAN CakePHP sihirli geçersiz ediyorsanız, bunu denir istediğiniz ne $ this-> ad değiştirmek. $ This-> name kurucusuna kullanılacak gibi görünüyor ve bir yerde bu süreçte diğer adı oluşturmak gerekir. Eğer geçersiz kılmak istediğiniz bir yöntemle $ this-> adını değiştirerek, yeterli değildir. Sen $ this-> ad değiştirmek ve yöntem setSource gerçekleştirmek zorunda () aşağıdaki gibi olacak:
function my_override_method(){
$this->setSource('new_db_table_name_here');
$this->alias = "NewTable";
}
name
: modelin adı, örneğin, Post
.alias
, modelin diğer adı, bu örnek için, ClassRegistry
in örneği kaydetmek için kullanılır ParentThread
.this soruya da bir göz atın.