/** * Gets a field record by its ID or creates a new one. * * @access private * @param int $fieldId * @return FieldRecord */ private function _getFieldRecordById($fieldId = null) { if ($fieldId) { $fieldRecord = FieldRecord::model()->findById($fieldId); if (!$fieldRecord) { throw new Exception(Craft::t('No field exists with the ID “{id}”', array('id' => $fieldId))); } } else { $fieldRecord = new FieldRecord(); } return $fieldRecord; }
/** * Returns a field record for a given model. * * @param FieldModel $field * * @throws Exception * @return FieldRecord */ private function _getFieldRecord(FieldModel $field) { if (!$field->isNew()) { $fieldId = $field->id; if (!isset($this->_fieldRecordsById) || !array_key_exists($fieldId, $this->_fieldRecordsById)) { $this->_fieldRecordsById[$fieldId] = FieldRecord::model()->findById($fieldId); if (!$this->_fieldRecordsById[$fieldId]) { throw new Exception(Craft::t('No field exists with the ID “{id}”.', array('id' => $fieldId))); } } return $this->_fieldRecordsById[$fieldId]; } else { return new FieldRecord(); } }