Symfony 3:注释不存在,或者无法自动加载

时间:2018-01-24 12:37:10

标签: symfony doctrine-orm orm fosuserbundle symfony-3.3

当我将项目投入生产时,我收到了错误:

注释" @Symfony \ Component \ Validator \ Constraints \ type" in property不存在,或者无法自动加载。

我不明白为什么,因为当我在本地工作时,一切都很好。

这是我的代码:

namespace EC\UserBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use FOS\UserBundle\Model\User as BaseUser;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Validator\Constraints as Assert;
use EC\ToolsBundle\StrTools\StrTools; 

/**
 * User
 *
 * @ORM\Table(name="user")
 * @ORM\Entity(repositoryClass="EC\UserBundle\Repository\UserRepository")
 */
class User extends BaseUser
{

/**
 * @ORM\Column(name="nb_recette", type="integer", options={"unsigned"=true, "default" = 0})
 * @Assert\type(type="integer")
 */
    private $nb_recette = 0;

//...
}

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

你有一个拼写错误,它应该是@Assert\Type

Symfony实现PSR-4自动加载,所以如果你看一下here,你会注意到

  

所有类名必须以区分大小写的方式引用。

答案 1 :(得分:3)

尝试改变这个:

* @Assert\type(type="integer")

到此:

* @Assert\Type(type="integer")

注释区分大小写,因此您检索错误