@backEndDeveloper

Не работает связь OneToOne (Doctrine v2.5.14). В чем может быть проблема?

Есть 2 сущности
/**
 * Catalog
 *
 * @ORM\Table(name="catalog", indexes={@ORM\Index(name="position_idx", columns={"position"})})
 * @DoctrineAssert\UniqueEntity(fields="url", message="URL должен быть уникальным")
 * @ORM\Entity
 */
class Catalog
{
    /**
     * @var CatalogTemplate
     *
     * @ORM\OneToOne(targetEntity="CatalogTemplate", mappedBy="catalog", cascade={"persist"})
     **/
    private $template;
}

и
/**
 * CatalogTemplate
 * @ORM\Entity
 * @ORM\Table(name="catalog_template")
 */
class CatalogTemplate
{
/**
     * @ORM\OneToOne(targetEntity="Catalog", inversedBy="template")
     * @ORM\JoinColumn(name="catalog_id", referencedColumnName="id")
     */
    private $catalog;
}


В бд все обновилось появились связи, таблицы, поля.
Вручную создал по 1 записи в таблицах, но когда пишу
$catalog->getTemplate()->getId();

выдает ошибку
Call to a member function setValue() on null

Интересно что этот же код на локальной машине работает, на сервере, выдает ошибку. Версии доктрины идентичны.
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
@backEndDeveloper Автор вопроса
ГЛАВНОЕ правило при обновлении БД не забывайте дописывать --env=prod
для команды php bin/console doctrine:cache:clear-metadata =)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы