Iva*_*van 8 php orm symfony doctrine-orm
创建实体后:
php app/console doctrine:generate:entity
Run Code Online (Sandbox Code Playgroud)
并在使用时:
php app/console doctrine:schema:update --force
Run Code Online (Sandbox Code Playgroud)
我遇到过:
没有要处理的元数据类.
实体
namespace ISLab\AdminBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="menu_items")
*/
class MenuItem
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(name="parent", type="integer")
*/
private $parent;
// ...
}
Run Code Online (Sandbox Code Playgroud)
小智 11
我有一个类似的问题,并花了一段时间,直到我找到如何清除缓存.仅清除学说的缓存对我不起作用.使用以下命令清除整个环境(在这种情况下生产一个)
php app/console cache:clear --env=prod
因此,实体管理器不会为您的实体创建元数据.以下是我首先要检查的事项:
AdminBundle已在AppKernel中注册.true.或者,如果您使用自定义EM,请正确设置.有点offtopic:
我看到你正在创建一个菜单系统,我强烈建议你查看一下Doctrine Extensions Tree,它可以让你比你的结构更有效地查询和编辑项目.
当我从命令行通过交互式生成器生成实体时,我遇到了同样的问题.当我第一次创建时,我将配置格式设置为PHP,但这不起作用.所以我删除了它并再次尝试,但这次我选择了format = annotation.然后它工作了!也许这可以解决某人的问题.
小智 5
更新数据库时,我遇到了同样的问题。因此,我遵循此解决方案,并尝试适应我的情况,并且该方法有效。我认为这确实是一个自动映射的问题,因为auto_mapping设置为true,symfony无法找到实体。希望对您有所帮助。
orm:
auto_generate_proxy_classes: "%kernel.debug%"
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
mappings:
AppBundle:
type: annotation
is_bundle: false
dir: %kernel.root_dir%/../src/AppBundle/Entity/
prefix: AppBundle\Entity
alias: AppBundle
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18175 次 |
| 最近记录: |