public function getColIdByName($fieldNameString, $categoryNameString = '')
 {
     $findParams = \GO\Base\Db\FindParams::newInstance()->single()->select('`t`.`id`')->joinModel(array('model' => 'GO\\Customfields\\Model\\Category', 'localTableAlias' => 't', 'localField' => 'category_id', 'foreignField' => 'id', 'tableAlias' => 'cat'));
     $findCriteria = \GO\Base\Db\FindCriteria::newInstance()->addCondition('name', $fieldNameString, '=', 't')->addCondition('extends_model', $this->getExtendedModel()->className(), '=', 'cat');
     if (!empty($categoryNameString)) {
         $findCriteria->addCondition('name', $categoryNameString, '=', 'cat');
     }
     $findParams->criteria($findCriteria);
     $fieldRecord = Field::model()->find($findParams);
     if (!empty($fieldRecord)) {
         return $fieldRecord->id;
     } else {
         return false;
     }
 }
Example #2
0
 /**
  * Get or create field if not exists
  * 
  * @param int $category_id
  * @param string $fieldName
  * @return \Field 
  */
 public function createIfNotExists($category_id, $fieldName, $createAttributes = array())
 {
     $field = Field::model()->findSingleByAttributes(array('category_id' => $category_id, 'name' => $fieldName));
     if (!$field) {
         $field = new Field();
         $field->setAttributes($createAttributes, false);
         $field->category_id = $category_id;
         $field->name = $fieldName;
         $field->save();
     }
     return $field;
 }