iKatkovJS
@iKatkovJS
Symfony Developer

Какова причина ошибки «Class Foo is not a valid entity or mapped super class.»?

Доброго времени суток!
Есть сущность
<?php

namespace Main\CatalogBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass="Main\CatalogBundle\Repository\ShopCategoriesRepository")
 * @ORM\Table(name="shop_categories")
 */
class ShopCategories
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     *@ORM\Column(type="integer", name="shop_id")
     */
    private $shopId;

    /**
     * @ORM\Column(type="string")
     */
    private $name;

    /**
     * @ORM\Column(type="integer", name="category_id")
     */
    private $categoryId;

    /**
     * @ORM\Column(type="integer")
     */
    private $parent;

    /**
     * @ORM\Column(type="smallint")
     */
    private $status;

    /**
     * @ORM\Column(type="integer", name="total_products")
     */
    private $totalProducts;

    /**
     * @ORM\Column(type="integer", name="unknown_products")
     */
    private $unknownProducts;

    /**
     * @ORM\Column(type="intger", name="false_products")
     */
    private $falseProducts;


}


При попытки выполнения генерации сущности вылетает ошибка
[Doctrine\ORM\Mapping\MappingException]
Class "Main\CatalogBundle\Entity\ShopCategories" is not a valid entity or m
apped super class.


Где копать?
  • Вопрос задан
  • 3122 просмотра
Решения вопроса 1
prototype_denis
@prototype_denis
Symfony
Это исключение кидают DisconnectedMetadataFactory и Driver/*Driver.
Скорее всего проблема не в первом.

Так же заметьте, что поддерживается только ОДИН формат. Анотации, yml, xml...
В папке Main/CatalogBundle/Resources/doctrine/ не должно быть ничего, если вы используете аннотации.

https://github.com/symfony/symfony/issues/4554
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@want2know
Во первых: вы, что-то не то описываете. Где связи? Что за shopId, categoryId, parent? Почитайте про association mapping
Во вторых:
/**
* @ORM\Column(type="intger", name="false_products")
*/
private $falseProducts;
здесь intger, а нужно integer
Ответ написан
slimus
@slimus
Symfony, Golang
Что у вас в config.yml в секции доктрины?
stackoverflow.com/questions/20887211/how-to-fix-cl...
Ответ написан
Ваш ответ на вопрос

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

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