获取设置全局变量以在另一个函数中使用

时间:2019-09-05 03:55:24

标签: laravel

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

这是我的 Controller

$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。

1 个答案:

答案 0 :(得分:0)

例如

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

class TestController extends Controller
{
    private $x;

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

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