在 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 = "© ".session()->get('thisyear').", ".session()->get('name');
session()->put('footer',$footer);
return view('welcome');
}
但这不起作用,我卡住了!
改变
public function getConfigVariables()
到
public static function getConfigVariables()
您可能想了解面向对象的工作原理,基本上当您这样做时 Config::getConfigVariables();
您正在尝试调用静态方法,而不实例化 class。
一个好的开始是 here,这个概念适用于任何地方。
我有一个模型配置,顶部有以下内容:
<?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 = "© ".session()->get('thisyear').", ".session()->get('name');
session()->put('footer',$footer);
return view('welcome');
}
但这不起作用,我卡住了!
改变
public function getConfigVariables()
到
public static function getConfigVariables()
您可能想了解面向对象的工作原理,基本上当您这样做时 Config::getConfigVariables();
您正在尝试调用静态方法,而不实例化 class。
一个好的开始是 here,这个概念适用于任何地方。