symfonydoctrinematch-against

Match Against Doctrine Extension configuration


I'm trying to make match against doctrine extension work but i get error with doctrine configuration file. I got Unrecognized option "dql" under "doctrine.orm" . How to propely use symfony 4 + doctrine + match against extension?

Match against file + conf https://gist.github.com/ZeBigDuck/1234419#file-addfulltextindexescommand-php

parameters:
    # Adds a fallback DATABASE_URL if the env var is not set.
    # This allows you to run cache:warmup even if your
    # environment variables are not available yet.
    # You should not need to change this value.
    env(DATABASE_URL): ''

doctrine:
    dbal:
        # configure these for your database server
        driver: 'pdo_mysql'
        server_version: '5.7'
        charset: utf8mb4
        default_table_options:
            charset: utf8mb4
            collate: utf8mb4_unicode_ci

        url: '%env(resolve:DATABASE_URL)%'
    orm:
      dql:
        auto_generate_proxy_classes: '%kernel.debug%'
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_mapping: true
#        string_functions:
#          MATCH_AGAINST: App\Extension\Doctrine\MatchAgainst
        mappings:
            App:
                is_bundle: false
                type: annotation
                dir: '%kernel.project_dir%/src/Entity'
                prefix: 'App\Entity'
                alias: App
      entity_managers:
        default:
          dql:
            string_functions:
              MATCH_AGAINST: App\Extension\Doctrine\MatchAgainst

Solution

  • Try it like this:

        orm:
           auto_generate_proxy_classes: '%kernel.debug%'
           naming_strategy: doctrine.orm.naming_strategy.underscore
           auto_mapping: true
           dql:
             string_functions:
                MATCH_AGAINST: App\Extension\Doctrine\MatchAgainst
    

    EDIT.. It should be something like this (not tested):

    doctrine:
        dbal:
          # configure these for your database server
          driver: 'pdo_mysql'
          server_version: '5.7'
          charset: utf8mb4
          default_table_options:
            charset: utf8mb4
            collate: utf8mb4_unicode_ci
    
          url: '%env(resolve:DATABASE_URL)%'
        orm:
          auto_generate_proxy_classes: '%kernel.debug%'
          naming_strategy: doctrine.orm.naming_strategy.underscore
          auto_mapping: true
          dql:
            string_functions:
              MATCH_AGAINST: App\Extension\Doctrine\MatchAgainst
          mappings:
            App:
              is_bundle: false
              type: annotation
              dir: '%kernel.project_dir%/src/Entity'
              prefix: 'App\Entity'
              alias: App