在 Laravel 5.2 中从控制器调用模型函数

Calling a model function from a controller in Laravel 5.2

我有一个模型配置,顶部有以下内容:

<?php

namespace App;

use DB;
use Illuminate\Database\Eloquent\Model;

class Config extends Model
{
    protected $table = 'config';

    public function getConfigVariables()
    {
        $config = DB::table('config')->where('is', '1')->first();
        session()->put('name',$config['name']);
        session()->put('infoemail',$config['infoemail']);
        session()->put('copyrightowner',$config['copyrightowner']);

我希望在控制器中调用它来设置会话,所以在我设置的顶层路由中设置

Route::get('/',
[
    'uses' => 'ConfigController@ConfigVariables',
    'as' => 'home'
]);

无效的配置控制器方法是:

 public function ConfigVariables()
    {

            Config::getConfigVariables();
            session()->put('thisyear',ReturnCurrentYear());
            $footer = "&copy ".session()->get('thisyear').", ".session()->get('name');
            session()->put('footer',$footer);

        return view('welcome');
    }

但这不起作用,我卡住了!

改变

 public function getConfigVariables()

 public static function getConfigVariables()

您可能想了解面向对象的工作原理,基本上当您这样做时 Config::getConfigVariables(); 您正在尝试调用静态方法,而不实例化 class。

一个好的开始是 here,这个概念适用于任何地方。