Sylius 1.3 - class "App\Entity\X" "Sylius\Component\Addressing\Model\X" 的子 class 不是有效实体或映射的超级 class
Sylius 1.3 - class "App\Entity\X" sub class of "Sylius\Component\Addressing\Model\X" is not a valid entity or mapped super class
/config/packages/_sylius.yaml
的内容
imports:
- { resource: "@SyliusCoreBundle/Resources/config/app/config.yml" }
- { resource: "@SyliusAdminBundle/Resources/config/app/config.yml" }
- { resource: "@SyliusAdminApiBundle/Resources/config/app/config.yml" }
- { resource: "@SyliusShopBundle/Resources/config/app/config.yml" }
parameters:
sylius_core.public_dir: '%kernel.project_dir%/public'
sylius_shop:
product_grid:
include_all_descendants: true
sylius_theme:
sources:
filesystem:
directories:
- "%kernel.project_dir%/themes"
sylius_addressing:
resources:
country:
classes:
model: App\Entity\Country
/src/Entity/Country.php
的内容
namespace App\Entity;
use Sylius\Component\Addressing\Model\Country as BaseCountry;
class Country extends BaseCountry
{
/**
* @var bool
*/
private $flag;
/**
* @return bool|null
*/
public function getFlag(): ?bool
{
return $this->flag;
}
/**
* @param bool $flag
*/
public function setFlag(bool $flag): void
{
$this->flag = $flag;
}
}
/src/Resources/config/doctrine/Country.orm.yml
的内容
App\Entity\Country:
type: entity
table: sylius_country
fields:
flag:
type: boolean
nullable: true
然而,在 运行 Symfony 的模式更新命令后,显示以下错误消息:
Class "App\Entity\Country" "Sylius\Component\Addressing\Model\Country" 的子 class 不是有效实体或映射的超 class .
如有任何帮助,我们将不胜感激。提前谢谢你。
您需要像这样映射您的实体。
# config/packages/doctrine.yaml
doctrine:
orm:
mappings:
AppEntity:
type: xml
is_bundle: false
prefix: App\Entity
dir: '%project.dir%/src/Resources/config/doctrine/model'
然后创建您的映射文件,例如。 src/Resources/config/doctrine/model/YourEntity.xml
/config/packages/_sylius.yaml
的内容imports:
- { resource: "@SyliusCoreBundle/Resources/config/app/config.yml" }
- { resource: "@SyliusAdminBundle/Resources/config/app/config.yml" }
- { resource: "@SyliusAdminApiBundle/Resources/config/app/config.yml" }
- { resource: "@SyliusShopBundle/Resources/config/app/config.yml" }
parameters:
sylius_core.public_dir: '%kernel.project_dir%/public'
sylius_shop:
product_grid:
include_all_descendants: true
sylius_theme:
sources:
filesystem:
directories:
- "%kernel.project_dir%/themes"
sylius_addressing:
resources:
country:
classes:
model: App\Entity\Country
/src/Entity/Country.php
的内容namespace App\Entity;
use Sylius\Component\Addressing\Model\Country as BaseCountry;
class Country extends BaseCountry
{
/**
* @var bool
*/
private $flag;
/**
* @return bool|null
*/
public function getFlag(): ?bool
{
return $this->flag;
}
/**
* @param bool $flag
*/
public function setFlag(bool $flag): void
{
$this->flag = $flag;
}
}
/src/Resources/config/doctrine/Country.orm.yml
的内容App\Entity\Country:
type: entity
table: sylius_country
fields:
flag:
type: boolean
nullable: true
然而,在 运行 Symfony 的模式更新命令后,显示以下错误消息:
Class "App\Entity\Country" "Sylius\Component\Addressing\Model\Country" 的子 class 不是有效实体或映射的超 class .
如有任何帮助,我们将不胜感激。提前谢谢你。
您需要像这样映射您的实体。
# config/packages/doctrine.yaml
doctrine:
orm:
mappings:
AppEntity:
type: xml
is_bundle: false
prefix: App\Entity
dir: '%project.dir%/src/Resources/config/doctrine/model'
然后创建您的映射文件,例如。 src/Resources/config/doctrine/model/YourEntity.xml