我的实体类:
use Doctrine\ORM\Mapping as ORM;
/**
* CustomerEntity
* @ORM\Entity
* @ORM\Table(name="customers")
* @ORM\Table(uniqueConstraints={
* @ORM\UniqueConstraint(name="email", columns={"email"}),
* })
* @ORM\Entity(repositoryClass="Customer\V1\Rest\Customer\CustomerRepository")
*/
class CustomerEntity
{但是当我添加一个客户时,它会抛出这个错误,它正在寻找错误的表。
SQLSTATE42S02:基本表或视图未找到: 1146表'database.customerentity‘不存在
我试过了,但没有用:
@ORM\Table(name="`customers`")模式生成显示如下:
$ doctrine-module orm:schema-tool:update --dump-sql
The following SQL statements will be executed:
CREATE TABLE CustomerEntity (id VARCHAR(36) NOT NULL,
.....我做错什么了?
我也清理了缓存
orm:clear-cache:metadata
orm:clear-cache:query
orm:clear-cache:result发布于 2020-10-10 10:09:15
您所遇到的问题是,Doctrine只期望每个注释一次。试试这个:
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="customers", uniqueConstraints={
* @ORM\UniqueConstraint(name="email", columns={"email"}),
* })
* @ORM\Entity(repositoryClass="Customer\V1\Rest\Customer\CustomerRepository")
*/
class CustomerEntity
{发布于 2020-10-09 04:55:57
这真是令人沮丧,经过ORM的核心代码之后,我就能找到问题所在。没有时间进一步调查,以验证错误或这是一个特性(正常行为)。
通过在@ORM\Table(name="customers")下面插入uniqueConstraints,ORM能够识别表名。
use Doctrine\ORM\Mapping as ORM;
/**
* CustomerEntity
* @ORM\Entity
* @ORM\Table(uniqueConstraints={
* @ORM\UniqueConstraint(name="email", columns={"email"}),
* })
* @ORM\Table(name="customers")
* @ORM\Entity(repositoryClass="Customer\V1\Rest\Customer\CustomerRepository")
*/
class CustomerEntity
{https://stackoverflow.com/questions/64254367
复制相似问题