Устранение неполадок «Вызов функции-члена для необъекта» при создании одного объекта - PullRequest
2 голосов
/ 15 марта 2011

Я изучаю Symfony2 и создаю демонстрационный пример для этого.

Когда я пытаюсь запустить команду ниже.

$php app/console doctrine:generate:entities HelloBundle

она работает нормально.но он генерирует все тогда сущности.

, но если я хочу сгенерировать конкретные сущности, то

$php app/console doctrine:generate:entities HelloBundle --entity="User"

он выдаст ниже ошибку

$ php console doctrine:generate:entities HelloBundle --entity="Messages"
Generating entities for "HelloBundle"

PHP Fatal error:  Call to a member function getShortName() on a non-object in /home/prakash/web/Symfony/vendor/symfony/src/Symfony/Bundle/DoctrineBundle/Command/GenerateEntitiesDoctrineCommand.php on line 63

1 Ответ

2 голосов
/ 10 июля 2011

Старый вопрос, но я только что этим занимался!

Кажется, вы используете Linux, поэтому откройте Terminal, cd, в каталог приложения Symfony, а затем запустите ./console --shell.

Это вызовет интерактивную оболочку, где вы можете запускать команды по частям, что я нашел немного более полезным, если не чуть медленнее.

Когда оболочка открыта, введите doctrine:generate:entity, и он проведет вас через маленького мастера, где вы сможете создать одну сущность для определенного пакета.Сначала он спросит у вас имя, например.HelloBundle:EntityName, затем он попросит использовать синтаксис (yml, xml, annotation), а затем позволит вам ввести поля и их типы.

После этого (если хотите) ипри нажатии возврата, когда имя поля пустое, он спросит вас, хотите ли вы создать класс репозитория для сущности, и, наконец, убедитесь, что вы хотите сгенерировать все это.Хит return снова, и ваши файлы сущностей будут созданы.

Я пробовал однострочным командным способом, как описано в OP, но получил странные ошибки (возможно, сделал это неправильно), однако это может быть простой случай принятияэту команду и заменив entities на entity.

подробнее: http://symfony.com/doc/current/book/doctrine.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...