Tôi có lớp người trợ giúp này trong Magento 2:
class Data extends \Magento\Framework\App\Helper\AbstractHelper
{
protected $_countryFactory;
public function __construct(
\Magento\Directory\Model\CountryFactory $countryFactory
)
{
$this->_countryFactory = $countryFactory;
}
public function getCountryIsoCode($country = 'US')
{
$country = $this->_countryFactory->create()->getCollection();
$country->addFieldToFilter('country_id', array('eq' => country));
$countryCode = $country->getFirstItem()->getIso3Code());
$countryCode2 = $country->getFirstItem()->getData('iso3_code'));
// $countryCode => null
// $countryCode2 => 'USA'
return $countryCode;
}
}
Hàm getCountryIsoCode () có một ví dụ là tham số ('US').
Tôi không biết tại sao getIso3Code () không hoạt động. Thay vào đó, getData () hoạt động hoàn hảo.
Trong Magento2 không còn "chức năng ma thuật php để lấy trường bảng cơ sở dữ liệu" nữa?
Có cái gì đó sai trong mã của tôi?