首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有多个索引的原理2

具有多个索引的原理2
EN

Stack Overflow用户
提问于 2011-11-16 02:34:10
回答 2查看 13.8K关注 0票数 26

我正在使用zend框架和原理2.1进行开发。

我已经从数据库中生成了实体。

但问题是:规则不能识别我的索引。它们根本不会在实体注释中进行标记。

当我使用validate-schema并从orm:schema-tool:update --dump-sql转储sql时,它会生成sql来删除整个数据库中的所有索引。

我发现Doctrine有以下注释用于定义索引:

代码语言:javascript
运行
复制
indexes={@index(name="index_name",
                columns={"database_column1","database_column2"}
        )}

但是这允许我为多个列定义一个索引,而我实际上并不需要这样做。

我想要的是能够在多个列上定义多个索引,每列一个索引。

有什么办法可以做到这一点吗?有没有办法让我的注解定义多个索引。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-16 03:07:52

我会说你可以在索引属性中插入多个索引(但我还没有时间测试它):

代码语言:javascript
运行
复制
indexes={
@ORM\Index(name="index_name", columns={"database_column1","database_column2"}),
@ORM\Index(name="index_name2", columns={"database_column1"}),
@ORM\Index(name="index_name3", columns={"database_column2"})
}

希望这能对你有所帮助

票数 45
EN

Stack Overflow用户

发布于 2014-01-31 04:52:44

下面是一个示例:

代码语言:javascript
运行
复制
/**
 * @Entity
 * @Table(name="serial_number",indexes={
 *  @index(name="product_idx", columns={"product_id"}),
 * })
 */
class SerialNumber { // Entity Class

    /**
     * @var int
     * 
     * @Id
     * @GeneratedValue
     * @Column(type="integer")
     */

    protected $id;

    /**
     * @Column(name="created_at", type="datetime")
     * @var \DateTime
     * */
    protected $created;

    /**
     * @Column(name="updated_at", type="datetime")
     * @var \DateTime
     * */
    protected $updated;

    /**
     * @Column(name="product_id", type="integer")
     */
    protected $productID;

}
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8141309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档