脚本宝典收集整理的这篇文章主要介绍了php artisan route :: list给我一个错误:试图获取非对象的属性,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
PHP artisan route:list
我明白了
Trying to get PRoPErty of non-object
当我输入
PHP artisan route:list -v
我明白了
Exception trace: () at /home/vagrant/Code/app/CategorySettings.PHP:31 Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() at /home/vagrant/Code/app/CategorySettings.PHP:31 App\CategorySettings->getdefaultsettings() at /home/vagrant/Code/app/Http/Controllers/CategoryController.PHP:27 App\Http\Controllers\CategoryController->__construct() at n/a:n/a ReflectionClass->newInstanceargs() at /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Container/Container.PHP:776 Illuminate\Container\Container->build() at /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Container/Container.PHP:627 Illuminate\Container\Container->make() at /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Foundation/Application.PHP:674 Illuminate\Foundation\Application->make() at /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.PHP:170 Illuminate\Foundation\Console\RouteListCommand->getControllerMiddleware() at /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.PHP:151 Illuminate\Foundation\Console\RouteListCommand->getMiddleware() at /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.PHP:119 Illuminate\Foundation\Console\RouteListCommand->getRouteinformation() at /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.PHP:89 Illuminate\Foundation\Console\RouteListCommand->getRoutes() at /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.PHP:76 Illuminate\Foundation\Console\RouteListCommand->fire() at n/a:n/a call_user_func_array() at /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Container/Container.PHP:503 Illuminate\Container\Container->call() at /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Console/Command.PHP:150 Illuminate\Console\Command->execute() at /home/vagrant/Code/vendor/symfony/console/Command/Command.PHP:256 Symfony\component\Console\Command\Command->run() at /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Console/Command.PHP:136 Illuminate\Console\Command->run() at /home/vagrant/Code/vendor/symfony/console/Application.PHP:838 Symfony\Component\Console\Application->doRunCommand() at /home/vagrant/Code/vendor/symfony/console/Application.PHP:189 Symfony\Component\Console\Application->doRun() at /home/vagrant/Code/vendor/symfony/console/Application.PHP:120 Symfony\Component\Console\Application->run() at /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.PHP:107 Illuminate\Foundation\Console\Kernel->handle() at /home/vagrant/Code/artisan:35
这是相关的代码
public function getDefaultSettings() { $user = Auth::user(); $categorySetting = $user->settings; // <- line 31 ... }
错误消息似乎告诉我$user的错误
事情是当我dd $categorySetting或$user时,它给了我正确的对象……
User {#418 ▼ #table: "users" #fillable: array:16 [▶] #hidden: array:2 [▶] #connection: null #PrimaryKey: "id" #perPage: 15 +incrementing: true +timestamps: true #attributes: array:20 [▶] #original: array:20 [▶] #relations: array:1 [▶] #visible: [] #appends: [] #Guarded: array:1 [▶] #dates: [] #dateFormat: null #casts: [] #touches: [] #observables: [] #wITh: [] #morphClass: null +exists: true +wasRecentlyCreated: false }
知道什么是错的???
但是,当您从cli调用route:list时,$user为null,因此“尝试获取非对象的属性”.
您需要弄清楚的是路由:list调用getDefaultSettings()的原因.我的猜测是你在routes.PHP文件上做了一些调用该函数的东西.
解决问题的一种快速方法是使用check方法检查是否有用户在使用用户模型执行任何其他操作之前登录:
public function getDefaultSettings() { if (Auth::check()) { $user = Auth::user(); $categorySetting = $user->settings; ... } }
以上是脚本宝典为你收集整理的php artisan route :: list给我一个错误:试图获取非对象的属性全部内容,希望文章能够帮你解决php artisan route :: list给我一个错误:试图获取非对象的属性所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。