如何通过街道属性加载地址
-
16-10-2019 - |
题
我可以使用以下代码加载地址:
$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();
问题是 street
是在地址对象中返回时的数组,因此如何添加 street
进入上面的过滤器?
我知道我可以在代码中加载所有地址并通过它们循环循环,然后将数组与我的数据进行比较,但是如果可能的话,我想避免使用此步骤。
解决方案
这应该有效:
->addAttributeToFilter('street', 'somewhere');
或这个,如果你愿意 like
筛选
->addAttributeToFilter('street', array('like'=>'%somewhere%'));
即使将街道作为数组返回,数据库也将作为单个字段保存。数组中的值由 \n
.
如果您正在寻找一个在2行上的确切地址,则应该这样做:
->addAttributeToFilter('street', 'somewhere\nelse');