|
22 | 22 | use Doctrine\ORM\Mapping\ClassMetadata; |
23 | 23 | use Doctrine\ORM\Mapping\EmbeddedClassMapping; |
24 | 24 | use Doctrine\ORM\Mapping\FieldMapping; |
25 | | -use Doctrine\ORM\Mapping\InverseSideMapping; |
26 | | -use Doctrine\ORM\Mapping\OwningSideMapping; |
| 25 | +use Doctrine\ORM\Mapping\ManyToManyInverseSideMapping; |
| 26 | +use Doctrine\ORM\Mapping\ManyToManyOwningSideMapping; |
| 27 | +use Doctrine\ORM\Mapping\ManyToOneAssociationMapping; |
| 28 | +use Doctrine\ORM\Mapping\OneToManyAssociationMapping; |
| 29 | +use Doctrine\ORM\Mapping\OneToOneInverseSideMapping; |
| 30 | +use Doctrine\ORM\Mapping\OneToOneOwningSideMapping; |
27 | 31 | use Doctrine\Persistence\ManagerRegistry; |
28 | 32 | use Ecommit\DoctrineEntitiesGeneratorBundle\Attribute\GenerateEntityTemplate; |
29 | 33 | use Ecommit\DoctrineEntitiesGeneratorBundle\Entity\EntityInitializerInterface; |
@@ -314,53 +318,69 @@ protected function addEmbedded(GenerateEntityRequest $request, string $fieldName |
314 | 318 |
|
315 | 319 | protected function addAssociation(GenerateEntityRequest $request, AssociationMapping $associationMapping): void |
316 | 320 | { |
317 | | - if ($associationMapping->type() & ClassMetadata::TO_ONE && $associationMapping instanceof InverseSideMapping) { |
318 | | - $this->addAssociationToOne( |
319 | | - $request, |
320 | | - $associationMapping, |
321 | | - 'assocation_one_to_one_reverse', |
322 | | - $this->buildMethodName(self::TYPE_SET, $associationMapping->mappedBy) |
323 | | - ); |
324 | | - } elseif ($associationMapping->type() & ClassMetadata::TO_ONE && $associationMapping instanceof OwningSideMapping) { |
325 | | - $this->addAssociationToOne( |
326 | | - $request, |
327 | | - $associationMapping, |
328 | | - 'assocation_one_to_one_owning', |
329 | | - null |
330 | | - ); |
331 | | - } elseif ($associationMapping->type() & ClassMetadata::TO_ONE) { |
332 | | - $this->addAssociationToOne( |
333 | | - $request, |
334 | | - $associationMapping, |
335 | | - 'assocation_one_to_one_unidirectional', |
336 | | - null |
337 | | - ); |
| 321 | + if ($associationMapping->type() & ClassMetadata::TO_ONE) { |
| 322 | + if ($associationMapping instanceof OneToOneInverseSideMapping) { |
| 323 | + $this->addAssociationToOne( |
| 324 | + $request, |
| 325 | + $associationMapping, |
| 326 | + 'assocation_one_to_one_reverse', |
| 327 | + $this->buildMethodName(self::TYPE_SET, $associationMapping->mappedBy) |
| 328 | + ); |
| 329 | + } elseif ($associationMapping instanceof OneToOneOwningSideMapping && $associationMapping->inversedBy) { |
| 330 | + $this->addAssociationToOne( |
| 331 | + $request, |
| 332 | + $associationMapping, |
| 333 | + 'assocation_one_to_one_owning', |
| 334 | + null |
| 335 | + ); |
| 336 | + } elseif ($associationMapping instanceof OneToOneOwningSideMapping) { |
| 337 | + $this->addAssociationToOne( |
| 338 | + $request, |
| 339 | + $associationMapping, |
| 340 | + 'assocation_one_to_one_unidirectional', |
| 341 | + null |
| 342 | + ); |
| 343 | + } elseif ($associationMapping instanceof ManyToOneAssociationMapping && $associationMapping->inversedBy) { |
| 344 | + $this->addAssociationToOne( |
| 345 | + $request, |
| 346 | + $associationMapping, |
| 347 | + 'assocation_many_to_one_owning', |
| 348 | + null |
| 349 | + ); |
| 350 | + } elseif ($associationMapping instanceof ManyToOneAssociationMapping) { |
| 351 | + $this->addAssociationToOne( |
| 352 | + $request, |
| 353 | + $associationMapping, |
| 354 | + 'assocation_many_to_one_unidirectional', |
| 355 | + null |
| 356 | + ); |
| 357 | + } |
338 | 358 | } elseif ($associationMapping->type() & ClassMetadata::TO_MANY) { |
339 | | - if ($associationMapping->type() & ClassMetadata::ONE_TO_MANY && $associationMapping instanceof InverseSideMapping) { |
| 359 | + if ($associationMapping instanceof OneToManyAssociationMapping) { |
340 | 360 | $this->addAssociationToMany( |
341 | 361 | $request, |
342 | 362 | $associationMapping, |
343 | 363 | 'assocation_one_to_many_reverse', |
344 | 364 | $this->buildMethodName(self::TYPE_SET, $associationMapping->mappedBy), |
345 | 365 | $this->buildMethodName(self::TYPE_SET, $associationMapping->mappedBy) |
346 | 366 | ); |
347 | | - } elseif ($associationMapping->type() & ClassMetadata::MANY_TO_MANY && $associationMapping instanceof InverseSideMapping) { |
| 367 | + } elseif ($associationMapping instanceof ManyToManyInverseSideMapping) { |
348 | 368 | $this->addAssociationToMany( |
349 | 369 | $request, |
350 | 370 | $associationMapping, |
351 | 371 | 'assocation_many_to_many_reverse', |
352 | 372 | $this->buildMethodName(self::TYPE_ADD, $associationMapping->mappedBy), |
353 | 373 | $this->buildMethodName(self::TYPE_REMOVE, $associationMapping->mappedBy) |
354 | 374 | ); |
355 | | - } elseif ($associationMapping->type() & ClassMetadata::MANY_TO_MANY && $associationMapping instanceof OwningSideMapping) { |
| 375 | + } elseif ($associationMapping instanceof ManyToManyOwningSideMapping && $associationMapping->inversedBy) { |
356 | 376 | $this->addAssociationToMany( |
357 | 377 | $request, |
358 | 378 | $associationMapping, |
359 | 379 | 'assocation_many_to_many_owning', |
360 | 380 | null, |
361 | 381 | null |
362 | 382 | ); |
363 | | - } elseif ($associationMapping->type() & ClassMetadata::MANY_TO_MANY) { |
| 383 | + } elseif ($associationMapping instanceof ManyToManyOwningSideMapping) { |
364 | 384 | $this->addAssociationToMany( |
365 | 385 | $request, |
366 | 386 | $associationMapping, |
|
0 commit comments