我在用symfony2实现Match Against时遇到了一个问题,但多亏了stackoverflow,我几乎解决了这个问题:MATCH ACTION脚本不适用于Symfony2
我照Picoss说的做了,但现在我有另一个问题:
SQLSTATE[HY000]:一般错误:1214所用的表类型没有支持FULLTEXT索引
在谷歌上搜索了一下,我想原因是InnoDB表类型,但我不知道如何在Symfony2中更改它(我必须在fosuserbundle实体生成的表上搜索一些东西。第二个解决方案可以是升级我的mysql版本(我实际上在5.1.66-0版本上,但不确定它是否能解决问题)。
你还有其他想法吗?
感谢
您可以在@ORM/Table定义中添加引擎选项:
公告:
<?php
namespace MyBundleEntity;
use DoctrineORMMapping as ORM;
/**
* MyEntity
*
* @ORMTable(name="my_entity", options={"engine"="MyISAM"})
* @ORMEntity(repositoryClass="MyBundleEntityRepositoryMyEntityRepository")
*/
class MyEntity
{
//...
}
希望这能帮助
有一种方法可以用条令做到这一点:
/**
* @ORMTable(name="your_table_name", indexes={@ORMIndex(name="escape", columns={"name"}, flags={"fulltext"})})
* @ORMEntity(repositoryClass="...YourRepository")
*/
class YourEntity extends SomeClass {
}