コード例 #1
0
 /**
  * @param $modelToReportAdapter
  * @param $modelAttributeToDataProviderAdapter
  * @param string $modelClassName
  * @param string $realAttributeName
  */
 public function resolveCastingHintForAttribute($modelToReportAdapter, $modelAttributeToDataProviderAdapter, $modelClassName, $realAttributeName)
 {
     assert('$modelToReportAdapter instanceof ModelRelationsAndAttributesToReportAdapter');
     if ($modelToReportAdapter->isAttributeReadOptimization($realAttributeName)) {
         $hintAdapter = new ReadOptimizationDerivedAttributeToDataProviderAdapter($modelToReportAdapter->getModelClassName(), null);
         $hintModelClassName = $hintAdapter->getAttributeModelClassName();
         $modelAttributeToDataProviderAdapter->setCastingHintModelClassNameForAttribute($hintModelClassName);
     } else {
         return parent::resolveCastingHintForAttribute($modelToReportAdapter, $modelAttributeToDataProviderAdapter, $modelClassName, $realAttributeName);
     }
 }
 /**
  * @param $modelToReportAdapter
  * @param $modelAttributeToDataProviderAdapter
  * @param string $modelClassName
  * @param string $realAttributeName
  */
 protected function resolveCastingHintForAttribute($modelToReportAdapter, $modelAttributeToDataProviderAdapter, $modelClassName, $realAttributeName)
 {
     assert('$modelToReportAdapter instanceof ModelRelationsAndAttributesToReportAdapter');
     if ($this->isDisplayAttributeMadeViaSelect()) {
         return parent::resolveCastingHintForAttribute($modelToReportAdapter, $modelAttributeToDataProviderAdapter, $modelClassName, $realAttributeName);
     }
 }