问题描述
我想在数据库上存储用户配置数据,并且我正在关注有关此论坛的主题 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=10406but 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( )
使用Illuminate \ Database \ Eloquent \ Model;
use Illuminate\Database\Eloquent\Model;
类设置扩展了模型{
}
推荐答案
转到 bootstrap/app.php
只需注释
$app->withEloquent();
这篇关于在Laravel 5上发生非对象错误时调用成员函数connection()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!