Domanda

Mentre sono consapevole del Domanda simile .La mia domanda è più generica, che ciò che accadrebbe a entrambe le chiamate se creano effettivamente una colonna di database o meno.

Modifica

Conosco addColumn() aggiungerà una colonna della tabella reale, ma quando sono immersioni in alcuni moduli di base, alcuni di loro stanno chiamando sia addColumn() e addAttribute() allo stesso campo.

Qual è la differenza tra loro?

Modifica 2

Poiché addAttribute() sembra molto rispettato da me, dopo alcune ricerche, trovo anche alcuni nomi simili come addAttributeSet() e addAttributeSetNames().

Come si differiscono l'un l'altro?

È stato utile?

Soluzione

Prendiamolo passo dopo passo.

    .
  • addColumn aggiunge una colonna a una tabella.
  • addAttribute aggiunge un nuovo attributo per entità EAV. Quindi un nuovo record verrà creato nella tabella eav_attribute.
  • L'eccezione: per il modulo di vendita, addColumn e addAttribute fai la stessa cosa. Aggiungono una colonna a un tavolo. La ragione è la compatibilità all'indietro. Prima della versione 1.4, le entità di vendita (ordini, fatture, spedizioni, articoli, ...) erano EAV in modo da poter utilizzare addAttribute. A partire da 1,4 Le entità di vendita sono piatte in modo da utilizzare addColumn. Ma per la compatibilità all'indietro, la versione di avviamento 1.4, addAttribute è solo un wrapper per addColumn.
  • addAttributeSet viene utilizzato per entità EAV e fa ciò che dice. Crea un nuovo set di attributi per quell'entità. Penso che sia utilizzato solo per i prodotti, perché tutte le altre entità EAV (categoria, cliente, customer_address) utilizzano un singolo set di attributi.
  • addAttributeSetNames - Non ho trovato alcuna occorrenza di questo in qualsiasi punto del codice principale.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top