在Laravel 5上发生非对象错误时调用成员函数connection() [英] Call to a member function connection() on a non-object error on Laravel 5

查看:66
本文介绍了在Laravel 5上发生非对象错误时调用成员函数connection()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在数据库上存储用户配置数据,并且我正在关注有关此论坛的主题 http://forumsarchive.laravel.io/viewtopic.php?id=10406 但是当我实现它时,laravel抛出一个错误. 我运行了作曲家dump-autoload,但似乎没有任何问题.这是什么问题?

I want to store user configuration data on database and I'm following this forum thread about it http://forumsarchive.laravel.io/viewtopic.php?id=10406 but when I implemented it laravel throws an error. I ran composer dump-autoload but nothing seems to be workign.What's the problem here?

//文件名:app/config/settings.php

// filename: app/config/settings.php

use \App\Models\Setting

$list = array();

$format = function(&$list, $keys, $val) use(&$format) {
    $keys ? $format($list[array_shift($keys)], $keys, $val) : $list = $val;
};

foreach(Setting::all() as $setting) {
    $format($list, explode('.', $setting->token), $setting->content);
}

return $list;

用法:

echo Config :: get('settings.token'); //返回内容"的值

echo Config::get('settings.token'); // returns value of 'content'

完全错误

Fatal error: Call to a member function connection() on a non-object in C:\wamp\www\iapp\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php on line 3137
Call Stack
#   Time    Memory  Function    Location
1   0.0017  247544  {main}( )   ..\index.php:0
2   0.0910  2848480 Illuminate\Foundation\Http\Kernel->handle( )    ..\index.php:58
3   0.0910  2848736 Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter( )  ..\Kernel.php:86
4   0.0917  2886304 Illuminate\Foundation\Http\Kernel->bootstrap( ) ..\Kernel.php:110
5   0.0917  2886472 Illuminate\Foundation\Application->bootstrapWith( ) ..\Kernel.php:215
6   0.0974  2994336 Illuminate\Foundation\Bootstrap\LoadConfiguration->bootstrap( ) ..\Application.php:194
7   0.0986  3025160 Illuminate\Foundation\Bootstrap\LoadConfiguration->loadConfigurationFiles( )    ..\LoadConfiguration.php:38
8   0.1407  3814624 require( 'C:\wamp\www\iapp\config\settings.php' )   ..\LoadConfiguration.php:56
9   0.1407  3814696 ConfigSetting::getSettings( )   ..\settings.php:28
10  0.1494  4488840 Illuminate\Database\Eloquent\Model::all( )  ..\settings.php:16
11  0.1496  4494520 Illuminate\Database\Eloquent\Model->newQuery( ) ..\Model.php:646
12  0.1496  4494616 Illuminate\Database\Eloquent\Model->newQueryWithoutScopes( )    ..\Model.php:1769
13  0.1496  4494688 Illuminate\Database\Eloquent\Model->newBaseQueryBuilder( )  ..\Model.php:1795
14  0.1496  4494736 Illuminate\Database\Eloquent\Model->getConnection( )    ..\Model.php:1852
15  0.1496  4494784 Illuminate\Database\Eloquent\Model::resolveConnection( )

命名空间App \ Models;

namespace App\Models;

使用Illuminate \ Database \ Eloquent \ Model;

use Illuminate\Database\Eloquent\Model;

类设置扩展了模型{

}

推荐答案

转到 bootstrap/app.php

只需注释

$app->withEloquent();

这篇关于在Laravel 5上发生非对象错误时调用成员函数connection()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆