gpt4 book ai didi

php - Symfony2 - 学说 :schema:update fails with entity outside of a bundle ( decoupled )

转载 作者:可可西里 更新时间:2023-11-01 13:42:57 26 4
gpt4 key购买 nike

我正在阅读这篇文章:

http://danielribeiro.org/yes-you-can-have-low-coupling-in-a-symfony-standard-edition-application/

作者提到项目可以有这样的结构:

src/
└── Vendor/
└── Product/
└── Bundle
└── BlogBundle/
└── ForumBundle/
└── SiteBundle/
└── Controller/
└── IndexController.php
└── Resources/
└── views/
└── index.html.twig
└── ProductSiteBundle.php
└── Entity
└── User.php
└── Repository
└── UserRepository.php
└── Service
└── UserPasswordRetrievalService.php

所以我跟着这篇文章结束了这样的事情:

src/
└── Product/
└── Bundle
└── SiteBundle/
└── Controller/
└── IndexController.php
└── Resources/
└── views/
└── index.html.twig
└── ProductSiteBundle.php
└── Entity
└── User.php

现在 Symfony 看不到我的 User.php 作者没有提到我是否必须添加任何额外的代码才能使它工作,现在我收到这个错误:

MappingException: The class 'Product\Entity\User' was not found in the chain configured namespaces OtherNameSpaces

更新

所以我删除了我现有的代码。并做了这样的事情:

src/
└── Product/
└── Bundle
└── SiteBundle/
└── Controller/
└── IndexController.php
└── Resources/
└── views/
└── index.html.twig
└── ProductSiteBundle.php
└── Entity
└── User.php

用户.php

namespace Product\Entity;

/**
* @ORM\Entity
* @ORM\Table(name="users")
*/
class User
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;

public function __construct()
{
parent::__construct();

}
}

然后

php app/console doctrine:schema:update --force //No Metadata Classes to process.

似乎 Symfony 根本不知道该文件夹。有什么地方可以让 symfony 查看该文件夹的内部吗?

最佳答案

A good blog article Jakub Zalas 描述了如何映射 bundle 之外的实体。

您需要手动添加原则应在何处查找映射信息,如下所示。

这使得映射信息也可用于 doctrine:schema:update 命令。不要忘记在配置更改后清除缓存。

# app/config/config.php
doctrine:
orm:
# ...
mappings:
Acme:
type: annotation
is_bundle: false
dir: %kernel.root_dir%/../src/Acme/Entity
prefix: Acme\Entity
alias: Acme

您现在可以像这样访问存储库(因为别名定义):

$entityManager->getRepository('Acme:YourEntity');

关于php - Symfony2 - 学说 :schema:update fails with entity outside of a bundle ( decoupled ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19316389/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com