Example #1
0
 /**
  * Prepare a resource model
  *
  * @param ModelInterface $model the resource to prepare
  *
  * @return array the prepared response
  */
 public function prepareModel(ModelInterface $model)
 {
     $prepared = array();
     $links = $model->links();
     foreach ($model->getVisibleAttributeNames() as $name) {
         $prepared[$name] = $this->prepare($model->{$name});
     }
     if ($model instanceof ActiveRecord) {
         $embedded = array();
         foreach ($model->getMetaData()->relations as $name => $config) {
             if (!$model->hasRelated($name)) {
                 continue;
             }
             $embedded[$name] = $this->prepare($model->getRelated($name));
         }
         if (count($embedded)) {
             $prepared['_embedded'] = $embedded;
         }
         if ($model->getIsDeleted()) {
             $prepared['_deleted'] = true;
         }
     }
     if ($model->hasErrors()) {
         $prepared['_errors'] = $model->getErrors();
     }
     $prepared['_links'] = $links;
     return $prepared;
 }
Example #2
0
 /**
  * @inheritDoc
  */
 public function prepareModel(ModelInterface $model)
 {
     $names = $model->getVisibleAttributeNames();
     $row = array();
     foreach ($names as $name) {
         $row[] = $model->{$name};
     }
     if ($model->hasErrors()) {
         foreach ($model->getErrors() as $attribute => $errors) {
             $names[] = $attribute . '_ERRORS';
             $row[] = implode(' and ', $errors);
         }
     }
     return array($names, $row);
 }