コード例 #1
0
 /**
  * @param DisplayAttributeForReportForm $displayAttribute
  * @param RedBeanModel $model
  * @return mixed $value
  */
 protected function resolveRawValueByModel(DisplayAttributeForReportForm $displayAttribute, RedBeanModel $model)
 {
     $type = $displayAttribute->getDisplayElementType();
     $attribute = $displayAttribute->getResolvedAttribute();
     if ($type == 'CurrencyValue') {
         return $model->{$attribute}->value;
     } elseif ($type == 'User') {
         $realAttributeName = $displayAttribute->getResolvedAttributeRealAttributeName();
         return $model->{$realAttributeName}->id;
     } elseif ($type == 'DropDown') {
         return $model->{$attribute}->value;
     } elseif (null != ($rawValueRelatedAttribute = $displayAttribute->getRawValueRelatedAttribute())) {
         return $model->{$attribute}->{$rawValueRelatedAttribute};
     } else {
         return $this->resolveModelAttributeValueForPenultimateRelation($model, $attribute, $displayAttribute);
     }
 }