@@ 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 | { |