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

时间:2016-06-17 08:23:34

标签: laravel-5 models controllers

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

<?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');
    }

但这不起作用,我被困住了!

1 个答案:

答案 0 :(得分:7)

更改

 public function getConfigVariables()

 public static function getConfigVariables()

您可能想要了解面向对象的工作方式,基本上当您{I}尝试调用静态方法而不实例化类时。

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