| @@ 76-97 (lines=22) @@ | ||
| 73 | * @param string $fieldPath The field path. |
|
| 74 | * @return string The DB type for given model field path. |
|
| 75 | */ |
|
| 76 | public function getDbType($model, $fieldPath) |
|
| 77 | { |
|
| 78 | $resolved = $this->resolveRelatedField($model, $fieldPath); |
|
| 79 | $class = $resolved['class']; |
|
| 80 | $field = $resolved['field']; |
|
| 81 | ||
| 82 | $metadata = $this->getMetadatas($class); |
|
| 83 | ||
| 84 | if ($metadata->hasAssociation($field)) { |
|
| 85 | if ($metadata->isSingleValuedAssociation($field)) { |
|
| 86 | return $this->objectModel; |
|
| 87 | } |
|
| 88 | ||
| 89 | return 'collection'; |
|
| 90 | } |
|
| 91 | ||
| 92 | if ($metadata->hasField($field)) { |
|
| 93 | return $metadata->getTypeOfField($field); |
|
| 94 | } |
|
| 95 | ||
| 96 | return 'virtual'; |
|
| 97 | } |
|
| 98 | ||
| 99 | public function getModelType($model, $fieldPath) |
|
| 100 | { |
|
| @@ 99-117 (lines=19) @@ | ||
| 96 | return 'virtual'; |
|
| 97 | } |
|
| 98 | ||
| 99 | public function getModelType($model, $fieldPath) |
|
| 100 | { |
|
| 101 | $resolved = $this->resolveRelatedField($model, $fieldPath); |
|
| 102 | ||
| 103 | $class = $resolved['class']; |
|
| 104 | $fieldName = $resolved['field']; |
|
| 105 | ||
| 106 | $metadata = $this->getMetadatas($class); |
|
| 107 | ||
| 108 | if ($metadata->hasAssociation($fieldName)) { |
|
| 109 | return $metadata->getAssociationTargetClass($fieldName); |
|
| 110 | } |
|
| 111 | ||
| 112 | if ($metadata->hasField($fieldName)) { |
|
| 113 | return $metadata->getTypeOfField($fieldName); |
|
| 114 | } |
|
| 115 | ||
| 116 | return 'virtual'; |
|
| 117 | } |
|
| 118 | ||
| 119 | public function getSortType($dbType) |
|
| 120 | { |
|