Я думаю, что некоторые из вас, возможно, пытались этот интегрировать neo4j
с laravel 5
, Вот что я сделал:
Я установил laravel 5 с помощью этой команды:
composer create-project laravel/laravel laravel5test dev-develop
Он был установлен без каких-либо ошибок.
Я прошел через вики, добавил "endyjasmi/neo4j": "2.*"
в require
раздел в composer.json
, побежал composer update
, И это было успешно установлено, затем я добавил
'EndyJasmi\Laravel\Neo4jServiceProvider'
в providers
раздел в app/config/app.php
, Я не добавил фасады, потому что я не собираюсь их использовать. (Я надеюсь, что добавление фасадов не является обязательным!)
Затем я пошел в app/config/database.php
, добавил
/*
|--------------------------------------------------------------------------
| Neo4j Databases
|--------------------------------------------------------------------------
|
| Neo4j is an open source graph database which is
| very fast in traversing related data
|
*/
'neo4j' => [
'default' => 'development',
'profiles' => [
'development' => [
'scheme' => 'http',
'host' => 'localhost',
'port' => 7474,
'username' => '',
'password' => ''
]
]
]
в connections
массив. Тогда я дал дефолт как
'default' => 'development'
Затем я подумал о тестировании всех этих модификаций, поэтому я запустил локальный php-сервер, используя
php artisan serve
и это ошибка, которую я получил:
exception 'BadMethodCallException' with message 'Call to undefined method [bind]' in /home/ajay/Desktop/laravel5login/vendor/laravel/framework/src/Illuminate/Support/ServiceProvider.php:221
Stack trace:
#0 /home/ajay/Desktop/laravel5login/vendor/endyjasmi/neo4j/src/Laravel/Neo4jServiceProvider.php(43): Illuminate\Support\ServiceProvider->__call('bind', Array)
#1 /home/ajay/Desktop/laravel5login/vendor/endyjasmi/neo4j/src/Laravel/Neo4jServiceProvider.php(43): EndyJasmi\Laravel\Neo4jServiceProvider->bind('EndyJasmi\Neo4j...', 'EndyJasmi\Neo4j...')
#2 /home/ajay/Desktop/laravel5login/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(415): EndyJasmi\Laravel\Neo4jServiceProvider->register()
#3 /home/ajay/Desktop/laravel5login/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(536): Illuminate\Foundation\Application->register(Object(EndyJasmi\Laravel\Neo4jServiceProvider))
#4 /home/ajay/Desktop/laravel5login/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(518): Illuminate\Foundation\Application->registerDeferredProvider('EndyJasmi\Larav...', 'EndyJasmi\Neo4j...')
#5 /home/ajay/Desktop/laravel5login/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(492): Illuminate\Foundation\Application->loadDeferredProvider('EndyJasmi\Neo4j...')
#6 /home/ajay/Desktop/laravel5login/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(183): Illuminate\Foundation\Application->loadDeferredProviders()
#7 /home/ajay/Desktop/laravel5login/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(89): Illuminate\Foundation\Console\Kernel->bootstrap()
#8 /home/ajay/Desktop/laravel5login/artisan(34): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 {main}
Где я делал ошибки? в app.php
? или в database.php
? Пожалуйста, помогите мне
Я предлагаю вам использовать https://github.com/Vinelab/NeoEloquent. Это отличный пакет для использования Neo4J с Laravel 5
В Lavarel 5 есть некоторые изменения, вы должны попробовать это OGM, https://github.com/lrezek/Neo4Laravel. Также проверьте тягу, которая установлена для Lavarel> 5