/** * Populates the object using an array. * * This is particularly useful when populating an object from one of the * request arrays (e.g. $_POST). This method goes through the column * names, checking to see whether a matching key exists in populated * array. If so the setByName() method is called for that column. * * You can specify the key type of the array by additionally passing one * of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME, * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM. * The default key type is the column's phpname (e.g. 'AuthorId') * * @param array $arr An array to populate the object from. * @param string $keyType The type of keys the array uses. * @return void */ public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = PcValuePeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setName($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setValue($arr[$keys[1]]); } }
/** * This is the backend for the PcValue table * * If the key doesn't exist it will be created * * @param string $key * @param string $value */ public static function setValue($key, $value) { $c = new Criteria(); $c->add(PcValuePeer::NAME, $key); $valueObject = PcValuePeer::doSelectOne($c); if (is_object($valueObject)) { $valueObject->setValue($value); $valueObject->save(); } else { $valueObject = new PcValue(); $valueObject->setName($key)->setValue($value)->save(); } }