Как я могу связать две сущности с ManyToOne? - PullRequest
0 голосов
/ 06 декабря 2018

В моей сущности pages я добавил значок через "ManyToOne":

/**
 * @ORM\ManyToOne(targetEntity="App\Entity\Icons", inversedBy="pages")
 * @ORM\JoinColumn(nullable=false)
 */
private $icon;


  public function getIcon(): ?Icons
{
    return $this->icon;
}

public function setIcon(?Icons $icon): self
{
    $this->icon = $icon;
    return $this;
}

Но у меня проблема с этим, я получаю сообщение об ошибке:

Anвозникла исключительная ситуация при выполнении 'SELECT t0.id AS id_1, t0.unique_id AS unique_id_2, t0.name AS name_3, t0.template AS template_4, t0.slug AS slug_5, t0.icon_id AS icon_id_6 ИЗ страниц t0 ГДЕ t0.slug =?LIMIT 1 'с параметрами ["pages"]:

SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец' t0.icon_id 'в' списке полей '

1 Ответ

0 голосов
/ 06 декабря 2018

Doctrine будет искать столбец с именем [relationed_one]_id в таблице relation_many.Если связь между Icon и Page создается другим внешним ключом, то есть icon_id в таблице страниц, вы можете указать с помощью @JoinColumn(name="another_foreign_id", referencedColumnName="another_primary_id")

https://www.doctrine -project.org / projects / doctrine-orm / en /2,6 / ссылка / ассоциативно-mapping.html # один-ко-многим-двунаправленная

...