Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Member Functions | Protected Attributes
Region Class Reference
Inheritance diagram for Region:
AbstractDb AbstractResource

Public Member Functions

 __construct (\Magento\Framework\Model\ResourceModel\Db\Context $context, \Magento\Framework\Locale\ResolverInterface $localeResolver, $connectionName=null)
 
 loadByCode (\Magento\Directory\Model\Region $region, $regionCode, $countryId)
 
 loadByName (\Magento\Directory\Model\Region $region, $regionName, $countryId)
 
- Public Member Functions inherited from AbstractDb
 __construct (\Magento\Framework\Model\ResourceModel\Db\Context $context, $connectionName=null)
 
 __sleep ()
 
 __wakeup ()
 
 getIdFieldName ()
 
 getMainTable ()
 
 getTable ($tableName)
 
 getConnection ()
 
 load (\Magento\Framework\Model\AbstractModel $object, $value, $field=null)
 
 save (\Magento\Framework\Model\AbstractModel $object)
 
 delete (\Magento\Framework\Model\AbstractModel $object)
 
 addUniqueField ($field)
 
 resetUniqueField ()
 
 unserializeFields (\Magento\Framework\Model\AbstractModel $object)
 
 getUniqueFields ()
 
 hasDataChanged ($object)
 
 getChecksum ($table)
 
 afterLoad (\Magento\Framework\DataObject $object)
 
 beforeSave (\Magento\Framework\DataObject $object)
 
 afterSave (\Magento\Framework\DataObject $object)
 
 beforeDelete (\Magento\Framework\DataObject $object)
 
 afterDelete (\Magento\Framework\DataObject $object)
 
 serializeFields (\Magento\Framework\Model\AbstractModel $object)
 
- Public Member Functions inherited from AbstractResource
 __construct ()
 
 getConnection ()
 
 beginTransaction ()
 
 addCommitCallback ($callback)
 
 commit ()
 
 rollBack ()
 
 getValidationRulesBeforeSave ()
 

Protected Member Functions

 _construct ()
 
 _getLoadSelect ($field, $value, $object)
 
 _loadByCountry ($object, $countryId, $value, $field)
 
- Protected Member Functions inherited from AbstractDb
 _init ($mainTable, $idFieldName)
 
 _setResource ($connections, $tables=null)
 
 _setMainTable ($mainTable, $idFieldName=null)
 
 _getConnection ($resourceName)
 
 _getLoadSelect ($field, $value, $object)
 
 _initUniqueFields ()
 
 _prepareDataForSave (\Magento\Framework\Model\AbstractModel $object)
 
 _prepareValueForSave ($value, $type)
 
 _checkUnique (\Magento\Framework\Model\AbstractModel $object)
 
 _afterLoad (\Magento\Framework\Model\AbstractModel $object)
 
 _beforeSave (\Magento\Framework\Model\AbstractModel $object)
 
 _afterSave (\Magento\Framework\Model\AbstractModel $object)
 
 _beforeDelete (\Magento\Framework\Model\AbstractModel $object)
 
 _afterDelete (\Magento\Framework\Model\AbstractModel $object)
 
 _serializeFields (\Magento\Framework\Model\AbstractModel $object)
 
 prepareDataForUpdate ($object)
 
 isObjectNotNew (\Magento\Framework\Model\AbstractModel $object)
 
 saveNewObject (\Magento\Framework\Model\AbstractModel $object)
 
 updateObject (\Magento\Framework\Model\AbstractModel $object)
 
 processAfterSaves (\Magento\Framework\Model\AbstractModel $object)
 
 isModified (\Magento\Framework\Model\AbstractModel $object)
 
 processNotModifiedSave (\Magento\Framework\Model\AbstractModel $object)
 
- Protected Member Functions inherited from AbstractResource
 _construct ()
 
 _serializeField (DataObject $object, $field, $defaultValue=null, $unsetEmpty=false)
 
 _unserializeField (DataObject $object, $field, $defaultValue=null)
 
 _prepareDataForTable (DataObject $object, $table)
 
 _prepareTableValueForSave ($value, $type)
 
 _getColumnsForEntityLoad (\Magento\Framework\Model\AbstractModel $object, $tableName)
 
 getSerializer ()
 

Protected Attributes

 $_regionNameTable
 
 $_localeResolver
 
- Protected Attributes inherited from AbstractDb
 $_resources
 
 $connectionName = \Magento\Framework\App\ResourceConnection::DEFAULT_CONNECTION
 
 $_connections = []
 
 $_resourceModel
 
 $_tables = []
 
 $_mainTable
 
 $_idFieldName
 
 $_isPkAutoIncrement = true
 
 $_useIsObjectNew = false
 
 $_mainTableFields
 
 $_uniqueFields = null
 
 $_serializableFields = []
 
 $transactionManager
 
 $objectRelationProcessor
 
- Protected Attributes inherited from AbstractResource
 $serializer
 
 $_logger
 

Detailed Description

Region Resource Model

@api

Since
100.0.2

Definition at line 15 of file Region.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( \Magento\Framework\Model\ResourceModel\Db\Context  $context,
\Magento\Framework\Locale\ResolverInterface  $localeResolver,
  $connectionName = null 
)
Parameters
\Magento\Framework\Model\ResourceModel\Db\Context$context
\Magento\Framework\Locale\ResolverInterface$localeResolver
string$connectionName

Definition at line 34 of file Region.php.

38  {
39  parent::__construct($context, $connectionName);
40  $this->_localeResolver = $localeResolver;
41  }

Member Function Documentation

◆ _construct()

_construct ( )
protected

Define main and locale region name tables

Returns
void

Definition at line 48 of file Region.php.

49  {
50  $this->_init('directory_country_region', 'region_id');
51  $this->_regionNameTable = $this->getTable('directory_country_region_name');
52  }

◆ _getLoadSelect()

_getLoadSelect (   $field,
  $value,
  $object 
)
protected

Retrieve select object for load object data

Parameters
string$field
mixed$value
\Magento\Framework\Model\AbstractModel$object
Returns
\Magento\Framework\DB\Select

Definition at line 62 of file Region.php.

63  {
64  $select = parent::_getLoadSelect($field, $value, $object);
65  $connection = $this->getConnection();
66 
67  $locale = $this->_localeResolver->getLocale();
69 
70  $regionField = $connection->quoteIdentifier($this->getMainTable() . '.' . $this->getIdFieldName());
71 
72  $condition = $connection->quoteInto('lrn.locale = ?', $locale);
73  $select->joinLeft(
74  ['lrn' => $this->_regionNameTable],
75  "{$regionField} = lrn.region_id AND {$condition}",
76  []
77  );
78 
79  if ($locale != $systemLocale) {
80  $nameExpr = $connection->getCheckSql('lrn.region_id is null', 'srn.name', 'lrn.name');
81  $condition = $connection->quoteInto('srn.locale = ?', $systemLocale);
82  $select->joinLeft(
83  ['srn' => $this->_regionNameTable],
84  "{$regionField} = srn.region_id AND {$condition}",
85  ['name' => $nameExpr]
86  );
87  } else {
88  $select->columns(['name'], 'lrn');
89  }
90 
91  return $select;
92  }
$value
Definition: gender.phtml:16
$connection
Definition: bulk.php:13

◆ _loadByCountry()

_loadByCountry (   $object,
  $countryId,
  $value,
  $field 
)
protected

Load object by country id and code or default name

Parameters
\Magento\Framework\Model\AbstractModel$object
int$countryId
string$value
string$field
Returns
$this

Definition at line 103 of file Region.php.

104  {
105  $connection = $this->getConnection();
106  $locale = $this->_localeResolver->getLocale();
107  $joinCondition = $connection->quoteInto('rname.region_id = region.region_id AND rname.locale = ?', $locale);
108  $select = $connection->select()->from(
109  ['region' => $this->getMainTable()]
110  )->joinLeft(
111  ['rname' => $this->_regionNameTable],
112  $joinCondition,
113  ['name']
114  )->where(
115  'region.country_id = ?',
116  $countryId
117  )->where(
118  "region.{$field} = ?",
119  $value
120  );
121 
122  $data = $connection->fetchRow($select);
123  if ($data) {
124  $object->setData($data);
125  }
126 
127  $this->_afterLoad($object);
128 
129  return $this;
130  }
$value
Definition: gender.phtml:16
$connection
Definition: bulk.php:13
_afterLoad(\Magento\Framework\Model\AbstractModel $object)
Definition: AbstractDb.php:641

◆ loadByCode()

loadByCode ( \Magento\Directory\Model\Region  $region,
  $regionCode,
  $countryId 
)

Loads region by region code and country id

Parameters
\Magento\Directory\Model\Region$region
string$regionCode
string$countryId
Returns
$this

Definition at line 141 of file Region.php.

142  {
143  return $this->_loadByCountry($region, $countryId, (string)$regionCode, 'code');
144  }
_loadByCountry($object, $countryId, $value, $field)
Definition: Region.php:103

◆ loadByName()

loadByName ( \Magento\Directory\Model\Region  $region,
  $regionName,
  $countryId 
)

Load data by country id and default region name

Parameters
\Magento\Directory\Model\Region$region
string$regionName
string$countryId
Returns
$this

Definition at line 154 of file Region.php.

155  {
156  return $this->_loadByCountry($region, $countryId, (string)$regionName, 'default_name');
157  }
_loadByCountry($object, $countryId, $value, $field)
Definition: Region.php:103

Field Documentation

◆ $_localeResolver

$_localeResolver
protected

Definition at line 27 of file Region.php.

◆ $_regionNameTable

$_regionNameTable
protected

Definition at line 22 of file Region.php.


The documentation for this class was generated from the following file: