Мне нужно создать поисковый ввод внутри моего проекта Symfony 6.0. Я использую PHP 8.1.5
В старые времена я использовал следующий синтаксис с аннотациями:
/**
* @ORM\Table(name = "category", indexes = {@ORM\Index(columns = {"name", "description"}, flags = {"fulltext"})})
*/
class Category
{
Но сейчас я не могу найти хороший способ сделать это с помощью атрибутов. Я пробовал следующее:
#[ORM\Index(name: 'category_idx', columns: ['name', 'description'])]
но миграция не создала полнотекстовый индекс.
Не могли бы вы рассказать мне, как вы это сделали, если у вас уже была такая ситуация?
Да, есть, но там нет того, что мне нужно (полный текстовый флаг).
Хотя в документации это не указано, исходный код для атрибута Index
по-прежнему содержит параметр flags
, так что вы сможете использовать его точно так же.
Это ответ, который ты был прав. Я не могу проголосовать за ваш комментарий, но большое спасибо. В конце концов я сделал: #[ORM\Index(name: 'category_idx', columns: ['name', 'description'], flags: ['fulltext'])]
и это сработало
Замечательно. Не могли бы вы опубликовать это как ответ?
Ну, это твой ответ, разве ты не можешь опубликовать его?
Возможно, я указал вам правильное направление, но в конечном итоге вы написали код, поэтому я не против, если вы просто опубликуете ответ.
Для тех, кто ищет тот же ответ, вот он.
#[ORM\Index(name: 'category_idx', columns: ['name', 'description'], flags: ['fulltext'])]
Это действительно создаст ТАБЛИЦУ с полнотекстовым индексом.
Вы видели это: stackoverflow.com/a/71411781/231316