注释“@Gedmo Slug 不存在,或无法自动加载

hou*_*ous 0 slug symfony doctrine-extensions

在本地主机中,一切正常,但在部署项目后,我收到此错误

[Semantical Error] The annotation "@Gedmo\Mapping\Annotation\slug" in property 
AppBundle\Entity\Product::$slug does not exist, or could not be auto-loaded.
Run Code Online (Sandbox Code Playgroud)

这是产品类

use Gedmo\Mapping\Annotation as Gedmo;
abstract class Prodcut
{
/**
 * @var int
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;

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

/**
 * @var string
 * @Gedmo\slug(fields={"name"})
 * @ORM\Column(name="slug", type="string", length=255, unique=true)
 */
private $slug;
Run Code Online (Sandbox Code Playgroud)

mar*_*tin 5

那是因为您为注释定义了别名:

use Gedmo\Mapping\Annotation as Gedmo;
Run Code Online (Sandbox Code Playgroud)

然后将其用作@Gedmo\slug(fields={"name"})插值:

@Gedmo\Mapping\Annotation\slug(fields={"name"})
Run Code Online (Sandbox Code Playgroud)

正确的名字是大写的S

@Gedmo\Slug(fields={"name"})
Run Code Online (Sandbox Code Playgroud)