[Risolto] Yii 2: cosa vuole dire la notazione '{{%user}}' per indicare il nome della tabella?

In Yii 1.x, nelle classi che ereditano da ActivRecord, c’è sempre stata la function tableName() che restituiva qualcosa tipo




 return "{{user}}"



Questo indicava ad Yii di leggere il prefisso predefinito delle tabelle per quel db e applicarlo in automatico, trasformandolo così in, ad esempio, "tbl_user".

Ora, nel codice generato da Yii 2.0.4, vedo questo codice




public static function tableName()

    {

        return '{{%user}}';

    }



Sarei curioso di sapere quel simbolo di percentuale a che serve !

con {{%user}} ci si riferisce alla tabella user "quotata" e con il prefisso indicato in yii\db\Connection::$tablePrefix

Grazie Lerstat1989.

La mia domanda era però più precisa: volevo proprio sapere il simbolo di percentuale cosa aggiunge di per se, essendo una novità di Yii 2.0.x rispetto a Yii 1.x.

Perdonatemi se mi sono spiegato male.

il simbolo di percentuale si riferisce al prefisso

{{user}} = tabella ‘user’

{{%user}} = tabella ‘tbl_user’

http://www.yiiframework.com/doc-2.0/guide-db-dao.html

guarda ‘Quoting Table and Column Names’

Ok, … ma perchè cambiare la notazione da {{qualcosa}} a {{%qualcosa}} ?

Devono averla avuta una motivazione !

A quanto pare, cmq, ho trovato la risposta in rete.

Grazie alla nuova notazione, è possibile posizionare diversamente il tablePrefix, anche ripetendolo se occorre.

Esempio: {{prova_%qualcosa}} puo diventare prova_tbl_qualcosa

{{mia%tabella}} diventa miatbl_tabella

… eccc …

ancora non ne capisco l’utilizzo pratico però