Appel à la méthode non définie IlluminateDatabaseQueryBuilder:: lists () lors de la mise à jour de Laravel 5.3
je mets à jour vers laravel 5.3, et je reçois ce message:
[2016-08-23 23:12:39] local.ERROR: BadMethodCallException: Call to undefined method IlluminateDatabaseQueryBuilder::lists() in /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2431
Stack trace:
#0 [internal function]: IlluminateDatabaseQueryBuilder->__call('lists', Array)
#1 /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1423): call_user_func_array(Array, Array)
#2 /home/vagrant/Code/vendor/cviebrock/eloquent-sluggable/src/SluggableTrait.php(254): IlluminateDatabaseEloquentBuilder->__call('lists', Array)
#3 /home/vagrant/Code/vendor/cviebrock/eloquent-sluggable/src/SluggableTrait.php(170): AppUser->getExistingSlugs('nouseratnouser-...')
#4 /home/vagrant/Code/vendor/cviebrock/eloquent-sluggable/src/SluggableTrait.php(312): AppUser->makeSlugUnique('nouseratnouser-...')
#5 /home/vagrant/Code/vendor/cviebrock/eloquent-sluggable/src/SluggableServiceProvider.php(72): AppUser->sluggify()
#6 [internal function]: CviebrockEloquentSluggableSluggableServiceProvider->CviebrockEloquentSluggable{closure}(Object(AppUser))
#7 /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(221): call_user_func_array(Object(Closure), Array)
#8 /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(164): IlluminateEventsDispatcher->fire('eloquent.saving...', Array, true)
#9 /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1664): IlluminateEventsDispatcher->until('eloquent.saving...', Object(AppUser))
#10 /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1456): IlluminateDatabaseEloquentModel->fireModelEvent('eloquent.saving...')
#11 /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(562): IlluminateDatabaseEloquentModel->save()
#12 /home/vagrant/Code/database/seeds/UserSeeder.php(34): IlluminateDatabaseEloquentModel::create(Array)
#13 /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(39): UserSeeder->run()
#14 /home/vagrant/Code/database/seeds/DatabaseSeeder.php(37): IlluminateDatabaseSeeder->call('UserSeeder')
#15 /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(63): DatabaseSeeder->run()
#16 /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2279): IlluminateDatabaseConsoleSeedsSeedCommand->IlluminateDatabaseConsoleSeeds{closure}()
#17 /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(64): IlluminateDatabaseEloquentModel::unguarded(Object(Closure))
#18 [internal function]: IlluminateDatabaseConsoleSeedsSeedCommand->fire()
#19 /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Container/Container.php(507): call_user_func_array(Array, Array)
#20 /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Console/Command.php(169): IlluminateContainerContainer->call(Array)
#21 /home/vagrant/Code/vendor/symfony/console/Command/Command.php(256): IlluminateConsoleCommand->execute(Object(SymfonyComponentConsoleInputArgvInput), Object(SymfonyComponentConsoleOutputConsoleOutput))
#22 /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Console/Command.php(155): SymfonyComponentConsoleCommandCommand->run(Object(SymfonyComponentConsoleInputArgvInput), Object(SymfonyComponentConsoleOutputConsoleOutput))
#23 /home/vagrant/Code/vendor/symfony/console/Application.php(818): IlluminateConsoleCommand->run(Object(SymfonyComponentConsoleInputArgvInput), Object(SymfonyComponentConsoleOutputConsoleOutput))
#24 /home/vagrant/Code/vendor/symfony/console/Application.php(186): SymfonyComponentConsoleApplication->doRunCommand(Object(IlluminateDatabaseConsoleSeedsSeedCommand), Object(SymfonyComponentConsoleInputArgvInput), Object(SymfonyComponentConsoleOutputConsoleOutput))
#25 /home/vagrant/Code/vendor/symfony/console/Application.php(117): SymfonyComponentConsoleApplication->doRun(Object(SymfonyComponentConsoleInputArgvInput), Object(SymfonyComponentConsoleOutputConsoleOutput))
#26 /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(111): SymfonyComponentConsoleApplication->run(Object(SymfonyComponentConsoleInputArgvInput), Object(SymfonyComponentConsoleOutputConsoleOutput))
#27 /home/vagrant/Code/artisan(35): IlluminateFoundationConsoleKernel->handle(Object(SymfonyComponentConsoleInputArgvInput), Object(SymfonyComponentConsoleOutputConsoleOutput))
#28 {main}
j'ai vérifié le code de cause:
User::create([
'name' => 'No User',
'email' => 'nouser@nouser.com',
'password' => bcrypt('0'),
'provider' => '0',
]);
je ne comprends pas pourquoi.
Si j'ai fait un commentaire, je reçois le même problème dans un autre fichier:
Tournament::create([
'user_id' => 1,
'name' => "name",
'dateIni' => $dateIni,
'dateFin' => $dateIni,
]);
j'ai fait un recherche globale de "listes" sans succès...
une idée de ce qui se passe???
4 réponses
Vous pouvez utiliser la méthode plumer. Méthode lists
' est supprimé dans Laravel 5.3.
J'ai changé lists('key')->all()
pluck('key')->all()
et ça fonctionne maintenant.
Laravel 5.3, la méthode listes() est supprimée en faveur de la méthode pluck (). Par Exemple:
$userList = App\User::pluck('name', 'id');
lists()
a été déprécié. Utilisez pluck()
à la place.
la méthode des listes sur la Collection, query builder et Eloquent query générateur d'objets a été renommé à plumer. La signature de la méthode reste le même.
ouais je viens de le trouver, mais le plus drôle ses mentiond sous https://laravel.com/docs/5.3/upgrade#upgrade-5.2.0 lesquelles il n'est pas correct car il a travaillé jusqu'à ce que j'ai mis à v5.3