Как я могу подключить свое поле сущности к той же сущности? - PullRequest
0 голосов
/ 24 января 2020

Я добавил к своей сущности "Категория" поле "родительская категория", чтобы иметь возможность подключить категорию к другой категории:

class Category
{ 

 /**
  * @ORM\Id()
  * @ORM\GeneratedValue()
  * @ORM\Column(type="integer")
  */
  private $id;


  /**
  * @ORM\ManyToOne(targetEntity="Category")
  * @ORM\JoinColumn(name="parentcategory", referencedColumnName="id")
  *
  */
  private $parentcategory;



 public function getId(): ?int
  {
    return $this->id;
  }

  public function getParentcategory(): ?Parentcategory {
    return $this->parentcategory;
  }

  public function setParentcategory(?Parentcategory $parentcategory): self {
    $this->parentcategory = $parentcategory;

    return $this;
  }

Я получаю сообщение об ошибке:

Недопустимый тип метода getParentcategory в классе «App \ Entity \ Category».

Ответы [ 2 ]

1 голос
/ 24 января 2020

На самом деле ваш сеттер вызывает проблему, вам нужно установить точный класс

public function setParentcategory(?Category $category): self {
$this->parentcategory = $category;

return $this;
1 голос
/ 24 января 2020

Измените

  public function getParentcategory(): ?Parentcategory {
    return $this->parentcategory;
  }

  public function setParentcategory(?Parentcategory $parentcategory): self  {
    $this->parentcategory = $parentcategory;

    return $this;
  }

на

  public function getParentcategory(): ?Category {
    return $this->parentcategory;
  }

  public function setParentcategory(?Category $parentcategory): self  {
    $this->parentcategory = $parentcategory;

    return $this;
  }

Поскольку в вашем случае тип возвращаемого значения недопустим, класс

...