floriansemm / SolrBundle

Solr-Integration into Symfony and Doctrine2
http://floriansemm.github.io/SolrBundle
MIT License
123 stars 72 forks source link

Fatal error: Call to undefined method getSingleScalarResult #156

Closed Cypaubr closed 7 years ago

Cypaubr commented 7 years ago

When I type the command:

php bin/console solr:index:populate --source=mongodb

It fails with the error:

Indexing: OneDayBundle\Entity\User
No repository found for "OneDayBundle\Entity\User", check your input //Nothing wrong, Users are indexed as MySQL not MogoDB
Indexing: OneDayBundle\Document\Profile
PHP Fatal error:  Call to undefined method Doctrine\ODM\MongoDB\Query\Query::getSingleScalarResult() in /var/www/1day-symfony/vendor/floriansemm/solr-bundle/FS/SolrBundle/Command/SynchronizeIndexCommand.php on line 158
PHP Stack trace:
PHP   1. {main}() /var/www/1day-symfony/bin/console:0
PHP   2. Symfony\Component\Console\Application->run() /var/www/1day-symfony/bin/console:29
PHP   3. Symfony\Bundle\FrameworkBundle\Console\Application->doRun() /var/www/1day-symfony/vendor/symfony/console/Application.php:120
PHP   4. Symfony\Component\Console\Application->doRun() /var/www/1day-symfony/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:80
PHP   5. Symfony\Component\Console\Application->doRunCommand() /var/www/1day-symfony/vendor/symfony/console/Application.php:189
PHP   6. Symfony\Component\Console\Command\Command->run() /var/www/1day-symfony/vendor/symfony/console/Application.php:848
PHP   7. FS\SolrBundle\Command\SynchronizeIndexCommand->execute() /var/www/1day-symfony/vendor/symfony/console/Command/Command.php:262
PHP   8. FS\SolrBundle\Command\SynchronizeIndexCommand->getTotalNumberOfEntities() /var/www/1day-symfony/vendor/floriansemm/solr-bundle/FS/SolrBundle/Command/SynchronizeIndexCommand.php:53
PHP Fatal error:  Uncaught exception 'Symfony\Component\Debug\Exception\UndefinedMethodException' with message 'Attempted to call an undefined method named "getSingleScalarResult" of class "Doctrine\ODM\MongoDB\Query\Query".
Did you mean to call "getSingleResult"?' in /var/www/1day-symfony/vendor/floriansemm/solr-bundle/FS/SolrBundle/Command/SynchronizeIndexCommand.php:158
Stack trace:
#0 /var/www/1day-symfony/vendor/floriansemm/solr-bundle/FS/SolrBundle/Command/SynchronizeIndexCommand.php(53): FS\SolrBundle\Command\SynchronizeIndexCommand->getTotalNumberOfEntities()
#1 /var/www/1day-symfony/vendor/symfony/console/Command/Command.php(262): FS\SolrBundle\Command\SynchronizeIndexCommand->execute()
#2 /var/www/1day-symfony/vendor/symfony/console/Application.php(848): Symfony\Component\Console\Command\Command->run()
#3 /var/www/1day-symfony/vendor/symfony/console/Application.php(189): Symfony\Component\Console\Application->doRunCommand()
#4 /var/www/1day-symfony/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/App in /var/www/1day-symfony/vendor/floriansemm/solr-bundle/FS/SolrBundle/Command/SynchronizeIndexCommand.php on line 158
PHP Stack trace:
PHP   1. {main}() /var/www/1day-symfony/bin/console:0
PHP   2. Symfony\Component\Console\Application->run() /var/www/1day-symfony/bin/console:29
PHP   3. Symfony\Bundle\FrameworkBundle\Console\Application->doRun() /var/www/1day-symfony/vendor/symfony/console/Application.php:120
PHP   4. Symfony\Component\Console\Application->doRun() /var/www/1day-symfony/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:80
PHP   5. Symfony\Component\Console\Application->doRunCommand() /var/www/1day-symfony/vendor/symfony/console/Application.php:189
PHP   6. Symfony\Component\Console\Command\Command->run() /var/www/1day-symfony/vendor/symfony/console/Application.php:848
PHP   7. FS\SolrBundle\Command\SynchronizeIndexCommand->execute() /var/www/1day-symfony/vendor/symfony/console/Command/Command.php:262
PHP   8. FS\SolrBundle\Command\SynchronizeIndexCommand->getTotalNumberOfEntities() /var/www/1day-symfony/vendor/floriansemm/solr-bundle/FS/SolrBundle/Command/SynchronizeIndexCommand.php:53
PHP   9. Symfony\Component\Debug\ErrorHandler::handleFatalError() /var/www/1day-symfony/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php:0
PHP  10. Symfony\Component\Debug\ErrorHandler->handleException() /var/www/1day-symfony/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php:602
PHP  11. call_user_func:{/var/www/1day-symfony/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php:540}() /var/www/1day-symfony/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php:540
PHP  12. newrelic_exception_handler() /var/www/1day-symfony/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php:540
Mortagus commented 7 years ago

Hello,

did you find a solution to your problem ?

Cypaubr commented 7 years ago

@Mortagus No...

Mortagus commented 7 years ago

@Cypaubr I just saw something interesting : I tried the populate command (not with mongodb, but read to the end please ^^), and I had the same error message "No repository found for "XXX", check your input"

Then I tried the simple "php bin/console" command and I had another error message noticing me of a syntax error into my entity class. Did you check about missing " or ) ?

Cypaubr commented 7 years ago

I have no problems when I try "php bin/console" and the error does not occur when I populate the index with MySQL, it is only when I set MongoDB as source.