public function searchValueIntoAttribute(RM_Gpc_Attribute_Object $obAttribute, $value_name) { $obValue = M('Base')->null(); foreach (M('Gpc')->getValueList()->filter(L(NULL) . '_name = ?', $value_name)->sort('id', 'DESC') as $obValue) { if (!isNull(iterFirst($obAttribute->getValues()->filter('id = ?', $obValue->id())->sort('id')))) { break; } } return $obValue; }
/** * Removes Attribute2Brick relation * * @param RM_Gpc_Entity_Brick obBrick * @param RM_Gpc_Attribute_Object obAttribute * @return bool **/ public function removeAttributeFromBrick(RM_Gpc_Entity_Brick $obBrick, RM_Gpc_Attribute_Object $obAttribute) { $query = M('Db')->createQuery($this->_tables['attr2brick'], 'delete')->where($this->_fields['attr2brick']['attribute_id'] . ' = ? AND ' . $this->_fields['attr2brick']['brick_id'] . ' = ?', $obAttribute->id(), $obBrick->id()); $result = $query->execute(); // удалить все связи значений атрибута с данным атрибутом и данным бриком (Attribute/Value/Brick relation into value2attr) foreach ($obAttribute->getValues($obBrick) as $obValue) { $this->removeValueFromAttribute($obAttribute, $obValue, $obBrick); } return $result; }