| @@ 1230-1246 (lines=17) @@ | ||
| 1227 | * |
|
| 1228 | * @throws Mapping\MappingException If a cascade option is not valid. |
|
| 1229 | */ |
|
| 1230 | private function getCascade(string $className, string $fieldName, array $originalCascades) |
|
| 1231 | { |
|
| 1232 | $cascadeTypes = ['remove', 'persist', 'refresh', 'merge', 'detach']; |
|
| 1233 | $cascades = array_map('strtolower', $originalCascades); |
|
| 1234 | ||
| 1235 | if (in_array('all', $cascades)) { |
|
| 1236 | $cascades = $cascadeTypes; |
|
| 1237 | } |
|
| 1238 | ||
| 1239 | if (count($cascades) !== count(array_intersect($cascades, $cascadeTypes))) { |
|
| 1240 | $diffCascades = array_diff($cascades, array_intersect($cascades, $cascadeTypes)); |
|
| 1241 | ||
| 1242 | throw Mapping\MappingException::invalidCascadeOption($diffCascades, $className, $fieldName); |
|
| 1243 | } |
|
| 1244 | ||
| 1245 | return $cascades; |
|
| 1246 | } |
|
| 1247 | ||
| 1248 | /** |
|
| 1249 | * Attempts to resolve the fetch mode. |
|
| @@ 1128-1144 (lines=17) @@ | ||
| 1125 | * |
|
| 1126 | * @throws Mapping\MappingException If a cascade option is not valid. |
|
| 1127 | */ |
|
| 1128 | private function getCascade(string $className, string $fieldName, array $originalCascades) |
|
| 1129 | { |
|
| 1130 | $cascadeTypes = ['remove', 'persist', 'refresh', 'merge', 'detach']; |
|
| 1131 | $cascades = array_map('strtolower', $originalCascades); |
|
| 1132 | ||
| 1133 | if (in_array('all', $cascades)) { |
|
| 1134 | $cascades = $cascadeTypes; |
|
| 1135 | } |
|
| 1136 | ||
| 1137 | if (count($cascades) !== count(array_intersect($cascades, $cascadeTypes))) { |
|
| 1138 | $diffCascades = array_diff($cascades, array_intersect($cascades, $cascadeTypes)); |
|
| 1139 | ||
| 1140 | throw Mapping\MappingException::invalidCascadeOption($diffCascades, $className, $fieldName); |
|
| 1141 | } |
|
| 1142 | ||
| 1143 | return $cascades; |
|
| 1144 | } |
|
| 1145 | ||
| 1146 | /** |
|
| 1147 | * @param \ReflectionClass $reflectionClass |
|