/** * @param RedBeanModel $model * @param $relation * @return null | string */ public function getRawValueRelatedAttributeForRelationReportedAsAttribute(RedBeanModel $model, $relation) { assert('is_string($relation)'); $modelClassName = $model->getAttributeModelClassName($relation); $metadata = static::getMetadata(); if (isset($metadata[$modelClassName]) && isset($metadata[$modelClassName]['relationsReportedAsAttributes']) && in_array($relation, $metadata[$modelClassName]['relationsReportedAsAttributes'])) { if (isset($metadata[$modelClassName]['relationsReportedAsAttributesGroupByAttributes'][$relation])) { return $metadata[$modelClassName]['relationsReportedAsAttributesGroupByAttributes'][$relation]; } } }
/** * @param RedBeanModel $model * @param $attribute * @return null | string */ public function getAvailableOperatorsTypes(RedBeanModel $model, $attribute) { assert('is_string($attribute)'); $modelClassName = $model->getAttributeModelClassName($attribute); $metadata = static::getMetadata(); if (isset($metadata[$modelClassName]) && isset($metadata[$modelClassName]['availableOperatorsTypes']) && isset($attribute, $metadata[$modelClassName]['availableOperatorsTypes'][$attribute])) { return $metadata[$modelClassName]['availableOperatorsTypes'][$attribute]; } return null; }
/** * @param RedBeanModel $model * @param string $attribute * @return null | string */ public function getTriggerValueElementType(RedBeanModel $model, $attribute) { assert('is_string($attribute)'); $modelClassName = $model->getAttributeModelClassName($attribute); $metadata = static::getMetadata(); if (isset($metadata[$modelClassName]) && isset($metadata[$modelClassName]['triggerValueElementTypes']) && isset($attribute, $metadata[$modelClassName]['triggerValueElementTypes'][$attribute])) { return $metadata[$modelClassName]['triggerValueElementTypes'][$attribute]; } return null; }