Ejemplo n.º 1
0
 public function envelope(NgModelBase $model)
 {
     /** @type ModelMetaData $modelsMetadata */
     $modelsMetadata = $model->getModelsMetaData();
     $data = array();
     $data['id'] = (int) $model->getId();
     $publics = $model::getPublicFields();
     $fields = $modelsMetadata->getDataTypes($model);
     foreach ($publics as $field) {
         if (!isset($fields[$field])) {
             continue;
         }
         $func = sprintf("get%s", ucfirst($field));
         switch ($fields[$field]) {
             case 0:
                 $data[$field] = (int) $model->{$func}();
                 break;
             default:
                 $data[$field] = $model->{$func}();
         }
     }
     return $data;
 }
Ejemplo n.º 2
0
 private function fetchRelationUsingModelsManager(NgModelBase $model)
 {
     /** @var ModelManager $modelsManager */
     $modelsManager = $model->getModelsManager();
     foreach ($modelsManager->getBelongsTo($model) as $relation) {
         $this->belongsTo($relation);
     }
     foreach ($modelsManager->getHasMany($model) as $relation) {
         $this->hasMany($model, $relation);
     }
     foreach ($modelsManager->getHasOne($model) as $relation) {
         $this->hasOne($model, $relation);
     }
 }