首页 > 解决方案 > 获取设置全局变量以在另一个函数中使用

问题描述

我的主要想法是通过会话传递数据并使用控制器获取或设置以在模型中使用。

这是我的控制器

$aFilters = $request->all();

if(empty($aFilters)) {

    $aRegions = $this->oChartManager->getRegions();
    $aFilterRegion = [];
    foreach ($aRegions as $aRegion) {
        array_push($aFilterRegion, $aRegion['region']);
    }
    $aFilters['region'] = $aFilterRegion;

}

$request->session()->put('filtered', $aFilters);

$request->session()->put('filtered', $this->oChartManager->addGlobalFilters('region', $aFilters['region']));

$request->session()->put('filtered', $this->oChartManager->getGlobalFilters());

这是我的模型

protected $aGlobalFilters = [];

public function addGlobalFilters($sKey, $mValue) {

    $this->aGlobalFilters[$sKey] = $mValue;
}

public function getGlobalFilters() {

    return $this->aGlobalFilters;
}

public function Info() {

     dd($this->aGlobalFilters ); // This get [] 
}

问题是我尝试从控制器获取数据以在另一个函数中使用,但是即使我在getGlobalFilters()函数中返回数据也没有传递给函数 Info。

标签: laravel

解决方案


例如

$this->x而不是$this->$x

class TestController extends Controller
{
    private $x;

    public function index()
    {
        $this->x ='22';
    }

    public function send_message()
    {
        echo $this->x;
    }
}

推荐阅读