2016-04-11 35 views
3

Sınıfta fonksiyon tableName() arasındaki fark nedir, hangi {{table_name}} {{table_name}} dönüş değeri ve Yii2 içinde 'table_name' değeri var mı? biri ayarlanırsaYii2 tableName dönüş değerleri

public static function tableName(){ 
return {{%admin}}; 
} 



public static function tableName(){ 
return 'admin'; 
} 
+1

'{{% yönetici}} ' "% Admin GİBİ" dönüş veya yönetici sonucu göstermektedir ile sona erer. ve “admin”, “admin” e eşittir – GAMITG

+0

Çok teşekkürler! – rafaa1994

+2

@GAMITG bu yanlıştır. – topher

cevap

5

'{{%admin}}'table prefix öneki getirilecek. 'admin' yapmayacaktır.

Tam olarak bunun için bir başvuru bulamıyorum, ancak \yii\db\ActiveRecord::tableName() için dokümanlar ve kaynak kodundan anlaşılabilir.

Docs

: Bu yöntem öneki yii\db\Connection::$tablePrefix ile yii\helpers\Inflector::camel2id() arayarak tablo adı olarak sınıf adını döndürür Varsayılan olarak

. yii\db\Connection::$tablePrefix, 'tbl_' ise, 'Müşteri', 'tbl_customer' olur ve 'OrderItem', 'tbl_order_item' olur. Tablo bu sözleşmeden sonra adlandırılmamışsa, bu yöntemi geçersiz kılabilirsiniz.

Source Code olup:

public static function tableName() 
{ 
    return '{{%' . Inflector::camel2id(StringHelper::basename(get_called_class()), '_') . '}}'; 
}