学说 ORM\Table(name="name") 不起作用
Doctrine ORM\Table(name="name") not working
我的实体class:
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
{
但是当我添加客户时它抛出这个错误,它正在寻找错误的 table。
SQLSTATE[42S02]: Base table or view not found: 1146 Table
'database.customerentity' doesn't exist
我确实尝试过这个,但没有帮助:
@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
这真是令人沮丧,在检查了 ORM 核心代码之后,我能够查明问题所在。没有时间进一步调查以验证错误或这是一个功能(正常行为)。
通过在 uniqueConstraints
下方插入 @ORM\Table(name="customers")
,ORM 能够识别 table 名称。
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
{
你遇到的问题是,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
{
我的实体class:
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
{
但是当我添加客户时它抛出这个错误,它正在寻找错误的 table。
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'database.customerentity' doesn't exist
我确实尝试过这个,但没有帮助:
@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
这真是令人沮丧,在检查了 ORM 核心代码之后,我能够查明问题所在。没有时间进一步调查以验证错误或这是一个功能(正常行为)。
通过在 uniqueConstraints
下方插入 @ORM\Table(name="customers")
,ORM 能够识别 table 名称。
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
{
你遇到的问题是,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
{