2016-06-17 4 views
1

У меня есть модель конфигурация, которая имеет следующую: в верхней частиВызов модели функции из контроллера в 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' => '[email protected]', 
    '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'); 
    } 

, но это не работает, и я застрял!

ответ

6

Изменить

public function getConfigVariables() 

в

public static function getConfigVariables() 

Вы можете прочитать хау объектно-ориентированные работы, в основном, когда вы делаете Config::getConfigVariables(); вы пытаетесь вызвать статический метод, без создания экземпляра класса.

Хорошее начало было бы here, эта концепция применяется везде.

+0

Спасибо! Laravel настолько отличается от того, к чему я привык, но я добираюсь туда ... медленно – Jim