Доктрина грубого поколения у продавца

Я пытаюсь использовать Symfony2 app/console Командный инструмент для генерации CRUD с помощью команды doctrine2. (app/console doctrine:generate:crud)

Вот проблема:
Я хочу создать его в поставщики (Да, мы разрабатываем некоторые пакеты непосредственно у поставщиков при запуске).
Когда я делаю команду и даю Название сущности, Это возвращает мне ошибку:

  [Doctrine\ORM\ORMException]
Unknown Entity namespace alias 'ExampleTemplateBundle'.

(Да, сущность существует, и имя ярлыка сущности хорошее)

Есть ли способ генерировать CRUD у поставщиков с Symfony2 и Doctrine2?

0

Решение

Вы не можете изменить поставщика.
Попробуйте унаследовать это и создать грубый для вашего собственного лица.

1

Другие решения

Я нашел решение!

Я разыскал ошибку и исправил проблему. Он проживал в доктрина / Доктрина-расслоение (v1.2.0 для меня).

То, что сделал не удалось, процесс был расположен в файле DoctrineBundle/Mapping/MetadataFactory.php

РЕДАКТИРОВАТЬ : Для людей, использующих doctrine-bundle v1.3.0 и более поздние версии, файл изменил имя. Сейчас DisconnectedMetadataFactory.php

Код ошибки был следующим:

    private function getBasePathForClass($name, $namespace, $path)
{
$namespace = str_replace('\\', '/', $namespace);
$search = str_replace('\\', '/', $path);
$destination = str_replace('/'.$namespace, '', $search, $c);
if ($c != 1) {
throw new \RuntimeException(sprintf('Can\'t find base path for "%s" (path: "%s", destination: "%s").', $name, $path, $destination));
}
return $destination;
}

Так что я сделал, я раздвоил репо, заменил код на это:

private function getBasePathForClass($name, $namespace, $path)
{
$namespace = str_replace('\\', '/', $namespace);
$search = str_replace('\\', '/', $path);
$destination = str_replace('/' . $namespace, '', $search);

return $destination;
}

И обновил мой composer.json, чтобы использовать мою разветвленную версию доктрина / Доктрина-расслоение.
Теперь это работает как шарм.

0

По вопросам рекламы [email protected]