Свойство FOSUserBundle username внутри аннотации пользовательского класса для полнотекстового индекса - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь установить два столбца с индексом fulltext, но моя проблема здесь в том, что имя пользователя исходит из FOS \ UserBundle \ Entity \ User, и если я пытаюсь использовать его в приведенной ниже аннотации, я получаю сообщение об ошибке

[Doctrine \ DBAL \ Schema \ SchemaException] Нет столбца с именем 'name, username' в таблице my_table_name

, потому что в моем UserEntity у меня нет свойство username. Это определено в BaseUser. Есть идеи, как мне это сделать? Мне удается заставить его работать напрямую, изменяя таблицу базы данных, но я хотел бы знать, как я могу использовать подход Doctrine.

use FOS\UserBundle\Entity\User as BaseUser;

/**
 * @ORM\Table(name="my_table_name", indexes={@ORM\Index(name="escape", columns={"name, username"}, flags={"fulltext"})})
 */
class UserEntity extends BaseUser

Вот рабочая команда MySQL:

ALTER TABLE table_clean_db.user ADD FULLTEXT INDEX escape (username, name);

1 Ответ

1 голос
/ 12 марта 2020

Я думаю, что здесь есть опечатка columns={"name, username"}.

Это должны быть 2 строки, разделенные запятой columns={"name", "username"}

...