protected function renderFieldCategory(ConfigFieldCategory $fieldCategory) { $str = ""; $fields = $fieldCategory->getConfigFields(); foreach ($fields as $field) { $str .= "<fieldset>"; $str .= "<legend>" . $field->getName() . "</legend>"; $fieldId = $field->getId(); $cField = new Criteria(); $cField->add(FieldValuePeer::FIELD_ID, $fieldId); /*$c1 = $cField->getNewCriterion(FieldValuePeer::VALUE, $query.'%', Criteria::LIKE); $c2 = $cField->getNewCriterion(FieldValuePeer::VALUE, "", Criteria::NOT_EQUAL); $c1->addAnd($c2); $cField->addAnd($c1);*/ $cField->add(FieldValuePeer::VALUE, "", Criteria::NOT_EQUAL); $cField->addGroupByColumn(FieldValuePeer::VALUE); $cField->addAscendingOrderByColumn(FieldValuePeer::VALUE); $cField->setLimit(15); $values = FieldValuePeer::doSelect($cField); $valueIndex = 0; foreach ($values as $value) { $str .= "<label>" . $value->getValue() . "</label>"; $str .= "<input type=\"checkbox\" name=\"fields[" . $field->getId() . "][{$valueIndex}]\" id=\"fields_" . $field->getId() . "_{$valueIndex}\" value=\"" . $value->getValue() . "\" /><br>"; $valueIndex++; } $str .= "</fieldset>"; } return $str; }
public function execute($request) { $fieldName = $this->getRequestParameter('field'); $query = $this->getRequestParameter('query'); //get field ID $fieldNameArr = explode('_', $fieldName); $fieldId = $fieldNameArr[1]; $cField = new Criteria(); $cField->add(FieldValuePeer::FIELD_ID, $fieldId); $c1 = $cField->getNewCriterion(FieldValuePeer::VALUE, $query . '%', Criteria::LIKE); $c2 = $cField->getNewCriterion(FieldValuePeer::VALUE, "", Criteria::NOT_EQUAL); $c1->addAnd($c2); $cField->addAnd($c1); $cField->addGroupByColumn(FieldValuePeer::VALUE); $cField->addAscendingOrderByColumn(FieldValuePeer::VALUE); $cField->setLimit(15); $this->values = FieldValuePeer::doSelect($cField); $this->getResponse()->setContentType('application/json'); }
public function makeConfigName() { $configName = "C: "; $fieldCats = array(1, 2); foreach ($fieldCats as $cid) { $fieldCat = ConfigFieldCategoryPeer::retrieveByPK($cid); $fields = $fieldCat->getFields(); foreach ($fields as $f) { $cFieldValues = new Criteria(); $cFieldValues->add(FieldValuePeer::CONFIG_ID, $this->getId()); $cFieldValues->add(FieldValuePeer::FIELD_ID, $f->getId()); $fieldValues = FieldValuePeer::doSelect($cFieldValues); foreach ($fieldValues as $fieldValue) { $configName .= $fieldValue->getValue() . " "; } } $configName .= '-'; } return $configName; }
/** * Gets an array of FieldValue objects which contain a foreign key that references this object. * * If this collection has already been initialized with an identical Criteria, it returns the collection. * Otherwise if this ConfigField has previously been saved, it will retrieve * related FieldValues from storage. If this ConfigField is new, it will return * an empty collection or the current collection, the criteria is ignored on a new object. * * @param PropelPDO $con * @param Criteria $criteria * @return array FieldValue[] * @throws PropelException */ public function getFieldValues($criteria = null, PropelPDO $con = null) { if ($criteria === null) { $criteria = new Criteria(ConfigFieldPeer::DATABASE_NAME); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collFieldValues === null) { if ($this->isNew()) { $this->collFieldValues = array(); } else { $criteria->add(FieldValuePeer::FIELD_ID, $this->id); FieldValuePeer::addSelectColumns($criteria); $this->collFieldValues = FieldValuePeer::doSelect($criteria, $con); } } else { // criteria has no effect for a new object if (!$this->isNew()) { // the following code is to determine if a new query is // called for. If the criteria is the same as the last // one, just return the collection. $criteria->add(FieldValuePeer::FIELD_ID, $this->id); FieldValuePeer::addSelectColumns($criteria); if (!isset($this->lastFieldValueCriteria) || !$this->lastFieldValueCriteria->equals($criteria)) { $this->collFieldValues = FieldValuePeer::doSelect($criteria, $con); } } } $this->lastFieldValueCriteria = $criteria; return $this->collFieldValues; }
public function executeGetFieldValues(sfWebRequest $request) { $fid = $request->getParameter('field_id'); $q = $request->getParameter('query'); $c = new Criteria(); //$c->addSelectColumn(FieldValuePeer::VALUE); //$c->addSelectColumn(FieldValuePeer::FIELD_ID); $c->add(FieldValuePeer::FIELD_ID, $fid); $c->add(FieldValuePeer::VALUE, '%' . $q . '%', Criteria::LIKE); //$c->setDistinct(); $this->values = FieldValuePeer::doSelect($c); }
/** * Retrieve multiple objects by pkey. * * @param array $pks List of primary keys * @param PropelPDO $con the connection to use * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function retrieveByPKs($pks, PropelPDO $con = null) { if ($con === null) { $con = Propel::getConnection(FieldValuePeer::DATABASE_NAME, Propel::CONNECTION_READ); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(FieldValuePeer::DATABASE_NAME); $criteria->add(FieldValuePeer::ID, $pks, Criteria::IN); $objs = FieldValuePeer::doSelect($criteria, $con); } return $objs; }