Maker Bundle 仅支持注释映射
Only annotation mapping is supported by Maker Bundle
我已经更改了我的 Symfony 项目的配置,以便在我的实体中使用 PHP 属性和 Doctrine。我对此感到非常高兴并想尝试一下。
我已将 doctrine.yaml
从 annotation
更改为 attribute
orm:
auto_generate_proxy_classes: true
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
auto_mapping: true
mappings:
App:
is_bundle: false
type: attribute
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
并在我的实体中使用属性
#[ORM\Entity(UserRepository::class)]
class User implements UserInterface
{
#[ORM\Id()]
#[ORM\GeneratedValue()]
#[ORM\Column(type: "integer")]
private ?int $id;
#[ORM\Column(type: "string", length: 180, unique: true)]
private ?string $email;
#[ORM\Column(type: "json")]
private array $roles = [];
}
使用此配置,我的 php bin/console do:sc:up -f
运行良好。
但是当我尝试使用 php bin/console make:entity
生成一个新实体时,我得到了这个错误:
[ERROR] Only annotation mapping is supported by make:entity, but the
App\Entity\Toto class uses a different
format. If you would like this command to generate the properties & getter/setter methods, add your mapping
configuration, and then re-run this command with the --regenerate flag.
好像还不能用maker来生成带属性的实体。
有没有人找到解决此问题的方法,还是我们只能等待新版本?
目前我正在使用:
"doctrine/annotations": "1.13.1"
"doctrine/doctrine-bundle": "2.4.2",
"doctrine/orm": "2.9.3"
"symfony/maker-bundle": "1.31.1",
目前不支持。虽然我 120% 确定开发人员 已经知道 关于 PHP 属性,但已创建 an issue,并且此功能将尽可能完成.
同时,您可以手动创建您的实体,而无需使用制造商(并不难),甚至可以使用 Rector to convert Annotations to Attributes. There is a built-in rule 之类的工具。
我已经更改了我的 Symfony 项目的配置,以便在我的实体中使用 PHP 属性和 Doctrine。我对此感到非常高兴并想尝试一下。
我已将 doctrine.yaml
从 annotation
更改为 attribute
orm:
auto_generate_proxy_classes: true
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
auto_mapping: true
mappings:
App:
is_bundle: false
type: attribute
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
并在我的实体中使用属性
#[ORM\Entity(UserRepository::class)]
class User implements UserInterface
{
#[ORM\Id()]
#[ORM\GeneratedValue()]
#[ORM\Column(type: "integer")]
private ?int $id;
#[ORM\Column(type: "string", length: 180, unique: true)]
private ?string $email;
#[ORM\Column(type: "json")]
private array $roles = [];
}
使用此配置,我的 php bin/console do:sc:up -f
运行良好。
但是当我尝试使用 php bin/console make:entity
生成一个新实体时,我得到了这个错误:
[ERROR] Only annotation mapping is supported by make:entity, but the App\Entity\Toto class uses a different format. If you would like this command to generate the properties & getter/setter methods, add your mapping
configuration, and then re-run this command with the --regenerate flag.
好像还不能用maker来生成带属性的实体。 有没有人找到解决此问题的方法,还是我们只能等待新版本?
目前我正在使用:
"doctrine/annotations": "1.13.1"
"doctrine/doctrine-bundle": "2.4.2",
"doctrine/orm": "2.9.3"
"symfony/maker-bundle": "1.31.1",
目前不支持。虽然我 120% 确定开发人员 已经知道 关于 PHP 属性,但已创建 an issue,并且此功能将尽可能完成.
同时,您可以手动创建您的实体,而无需使用制造商(并不难),甚至可以使用 Rector to convert Annotations to Attributes. There is a built-in rule 之类的工具。