Доктрина: Как назначить свойство дочерней сущности, которая создается с помощью @GeneratedValue в родительской сущности? - PullRequest
1 голос
/ 20 октября 2019

TL; DR Как использовать значение свойства из родительского объекта, созданного с помощью @GeneratedValue, в качестве значения для свойства дочернего объекта?

В настоящее время у меня естьFailureLog сущность и Image сущность. Может быть много Image сущностей, сохраненных на FailureLog сущность, и я хочу, чтобы свойство FailureLog s $id было применено к каждому из свойств Image entity '$failureLogId. Я генерирую значение свойства $id в сущности FailureLog, используя @GeneratedValue.

<?php

/**
 * @Entity
 */
class FailureLog {


  /**
   * @Id 
   * @GeneratedValue
   * Column(name="failure_log_id, type="integer)
   */
  private int $failureLogId;

  /**
   * ??? <-- What should go here?
   */
  private array $images;

  // ... more properties

  public function __construct( array $images) {
    $this->images = addImages($images);
  }

  pubic function addImages(array $images){
    foreach($images as $image){
      return new Image($this->failureLogId);
    }
  }
}

/**
 * @Entity 
 */
class Image {

  /**
   * Column(name=image_id, type="integer)
   */
  private $imageID;

  //...more properties

  public function __construct(int $imageID){
    $this->imageID=$imageID;
  }
}
...