Как добавить функции в доктрину конфигурации диспетчера сущностей в Zend Framework 3 - PullRequest
0 голосов
/ 08 февраля 2019

В настоящее время у меня есть контроллер и фабрика контроллеров

AbcControllerFactory

public function __invoke(ContainerInterface $container, $requestedName, array $options = null){
    $entityManager                   =  $container->get("doctrine.entitymanager.orm_default");
    return new AbcController($entityManager);
}

И AbcController

private $entityManager;
public function __construct($entityManager){
    $this->entityManager             =  $entityManager;
}

Я пытаюсь использовать эту библиотеку доктрин

библиотека доктрин для функций json

но единственная проблема в том, что я застрял в добавлении этих функций

$config = new \Doctrine\ORM\Configuration();
$config->addCustomStringFunction(DqlFunctions\JsonExtract::FUNCTION_NAME, DqlFunctions\JsonExtract::class);
$config->addCustomStringFunction(DqlFunctions\JsonSearch::FUNCTION_NAME, DqlFunctions\JsonSearch::class);

Я довольно новичок в этой доктриненемного.Может кто-нибудь помочь, как я должен добавить эти функции в существующей конфигурации диспетчера сущностей

Это мой файл local.php, где хранится вся информация

return [
"doctrine" => [
    "connection" => [
        "orm_default" => [
            "driverClass" => PDOMySqlDriver::class,
            "params" => [
                "driver"             => "pdo_mysql",
                "dsn"                => "mysql:dbname=abc;host=localhost;charset=utf8",
                "host"     => "localhost",
                "user"     => "root",
                "password" => "",
                "dbname"   => "abc",
            ]
        ],
    ],
],

];

1 Ответ

0 голосов
/ 08 февраля 2019

Хорошо, это немного вяло от меня.Однако я обнаружил, что вы можете добавить такую ​​функцию в контроллер:

$this->entityManager->getConfiguration()->addCustomStringFunction(DqlFunctions\JsonExtract::FUNCTION_NAME, DqlFunctions\JsonExtract::class);
$this->entityManager->getConfiguration()->addCustomStringFunction(DqlFunctions\JsonSearch::FUNCTION_NAME, DqlFunctions\JsonSearch::class);
...