Come caricare un indirizzo per attributo strada
-
16-10-2019 - |
Domanda
I può caricare un indirizzo utilizzando il seguente codice:
$addresses = $addressObj->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('firstname', $addressData['firstname'])
->addAttributeToFilter('lastname', $addressData['lastname'])
->addAttributeToFilter('city', $addressData['city'])
->addAttributeToFilter('postcode', $addressData['postcode'])
->addAttributeToFilter('telephone', $addressData['telephone'])
->load();
Il problema è che street
è un array quando tornai nell'oggetto indirizzo in modo come posso aggiungere street
nei miei filtri di cui sopra?
So che avrei potuto caricare tutti gli indirizzi e ciclo attraverso di loro nel codice quindi confrontare la matrice con i miei dati, ma vorrei evitare questo passaggio, se possibile, una è in testa in più.
Soluzione
Questo dovrebbe funzionare:
->addAttributeToFilter('street', 'somewhere');
o del presente, se si desidera che il filtro like
->addAttributeToFilter('street', array('like'=>'%somewhere%'));
Anche se la strada è riportata come un vettore, in cui il database è tenuto come un unico campo. I valori nella matrice sono concatenati da \n
.
Se siete alla ricerca di un indirizzo esatto, che si sviluppa su 2 linee questo dovrebbe farlo:
->addAttributeToFilter('street', 'somewhere\nelse');