| @@ 31-44 (lines=14) @@ | ||
| 28 | case 'selfMethod': |
|
| 29 | $type = $this->model->{$col['selfMethod']}(); |
|
| 30 | if (is_array($type)) { |
|
| 31 | if (strpos($type['relation'], ':')) { |
|
| 32 | $relationPath = explode(':', $type['relation']); |
|
| 33 | $relationName = array_pop($relationPath); |
|
| 34 | $item = $this->model; |
|
| 35 | foreach ($relationPath as $path) { |
|
| 36 | $item = $item->$path; |
|
| 37 | } |
|
| 38 | $itemModel = get_class($item); |
|
| 39 | $relation = $itemModel::getRelation($relationName); |
|
| 40 | $sourceModel = $relation['model']; |
|
| 41 | } else { |
|
| 42 | $relation = $modelName::getRelation($type['relation']); |
|
| 43 | $sourceModel = $relation['model']; |
|
| 44 | } |
|
| 45 | $objectId = \App::$cur->migrations->findObject((string) $value, $sourceModel); |
|
| 46 | if ($objectId) { |
|
| 47 | $value = $objectId->object_id; |
|
| @@ 294-307 (lines=14) @@ | ||
| 291 | case 'selfMethod': |
|
| 292 | $type = $item->{$colInfo['colParams']['selfMethod']}(); |
|
| 293 | if (is_array($type)) { |
|
| 294 | if (strpos($type['relation'], ':')) { |
|
| 295 | $relationPath = explode(':', $type['relation']); |
|
| 296 | $relationName = array_pop($relationPath); |
|
| 297 | $curItem = $item; |
|
| 298 | foreach ($relationPath as $path) { |
|
| 299 | $curItem = $curItem->$path; |
|
| 300 | } |
|
| 301 | $itemModel = get_class($curItem); |
|
| 302 | $relation = $itemModel::getRelation($relationName); |
|
| 303 | $sourceModel = $relation['model']; |
|
| 304 | } else { |
|
| 305 | $relation = static::getRelation($type['relation']); |
|
| 306 | $sourceModel = $relation['model']; |
|
| 307 | } |
|
| 308 | $value = $sourceModel::get($item->$colName); |
|
| 309 | if ($value) { |
|
| 310 | $value = $value->name(); |
|