相关疑难解决方法(0)

运行架构管理器更新时忽略Doctrine2实体

我已经定义了一个Doctrine Entity,它映射到我的数据库中的View.一切正常,实体关系按预期正常工作.

现在的问题是,当orm:schema-manager:update在CLI上运行时,会为此实体创建一个表,这是我想要阻止的.已有此实体的视图,无需为其创建表.

我是否可以注释实体,以便在仍然保持对所有实体相关功能(关联,...)的访问权限时不会创建表?

doctrine-orm

10
推荐指数
4
解决办法
6702
查看次数

如何使用doctrine和symfony2从数据库视图生成实体

我正在尝试使用标准控制台命令从数据库生成实体,如Symfony2文档中所述:http://symfony.com/doc/current/cookbook/doctrine/reverse_engineering.html .

php app/console doctrine:mapping:convert --from-database --force yml "src/My/HomeBundle/Resources/config/doctrine/metadata/orm"
php app/console doctrine:mapping:import MyHomeBundle yml
php app/console doctrine:generate:entities MyHomeBundle
Run Code Online (Sandbox Code Playgroud)

在此之后,所有表都正确生成.问题是这不会为数据库视图生成实体.当我自己将yml文件添加到src/My/HomeBundle/Resources/config/doctrine/metadata/orm中时,例如:

UserInGroup:
  type: entity
  table: user_in_group_view
  fields:
    id:
      id: true
      type: integer
      unsigned: false
      nullable: false
      generator:
        strategy: IDENTITY
    userId:
      type: integer
      unsigned: false
      nullable: false
      column: user_id
    userGroupId:
      type: integer
      unsigned: false
      nullable: false
      column: user_group_id
  lifecycleCallbacks: {  }
Run Code Online (Sandbox Code Playgroud)

我在运行时遇到此异常php app/console doctrine:generate:entities MyHomeBundle:

Notice: Undefined index: My\HomeBundle\Entity\UserInGroup in C:\Users\ThisIsMe\Projects\SymfonyTestProject\vendor\doctrine\lib\Doctrine\ORM\Mapping\Driver\AbstractFileDriver.php line 121
Run Code Online (Sandbox Code Playgroud)

类似的问题发布在这里:如何在Symfony 2中为数据库视图设置实体(学说)

我知道我可以创建实体类,但我希望我能够生成这样的内容,所以如果我改变了我的视图,我就可以重新生成实体类.有什么建议?

symfony doctrine-orm

9
推荐指数
1
解决办法
2万
查看次数

Doctrine 2 - 使用数据库中的视图生成实体

是否可以使用Doctrine 2从数据库生成视图?

我解释:

我的数据库包含一些我想要使用的视图,但我不知道如何生成这些视图.

在我的情况下,我有两个表和一个视图,视图选择每个表中的几列,我只想在项目的"实体"文件夹中的这个视图.

database view doctrine-orm

7
推荐指数
1
解决办法
1万
查看次数

如何为学说实体添加只读属性?

我的实体:

class MyEntity {

    /**
     * @var string
     *
     * @ORM\Column(name="hash", type="string", length=128, unique=true, nullable=false)
     */
    protected $hash;

}
Run Code Online (Sandbox Code Playgroud)

hash - 由数据库自动生成列。当我尝试在数据库中创建新记录时,我得到

“hash”列中的空值违反了非空约束

是否有机会将哈希设置为只读?或禁用插入?

php symfony doctrine-orm symfony-3.4

5
推荐指数
1
解决办法
4059
查看次数

如何在Doctrine 2中使用标志readOnly?

Doctrine 实体可以拥有该标志readOnly.

该旗应该如何readOnly使用?

/** @Entity(readOnly) */ <-- like this?
/** @Entity(readOnly=true) */ <-- or like this?
class User
{
    //...
}
Run Code Online (Sandbox Code Playgroud)

entity annotations doctrine-orm

2
推荐指数
1
解决办法
3614
查看次数

标签 统计

doctrine-orm ×5

symfony ×2

annotations ×1

database ×1

entity ×1

php ×1

symfony-3.4 ×1

view ×1