Laravel - 在控制器中将变量传递给另一个函数

时间:2016-05-02 14:36:42

标签: php laravel

在控制器中

angular.forEach($scope.tablelist, function (list, $index) 
{
  var found = $filter('filter')($localStorage.tableArray, 
              { tablename: list.tablename }, true);

  if (found.length) {$scope.tablelist[$index].btnClass = found[0].btnClass;}
});

这是一个例子。 我要做的是将第一种方法的计算结果传递给第二种方法。我期待在dd()中的第二个方法显示结果2但是我得到的是null。

出了什么问题以及如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

你真的应该重新设计它。你可以做的是创建第三种方法并在其中进行计算。然后从第一个和第二个调用此方法。

public function first(){
    $this->third();
    dd($this->variable);
    return view('something.view');
}

public function second(){
    $this->third();
    dd($this->variable);
    return view('something.view2');
}

public function third(){
    $calculation = 1 + 1;
    $this->variable = $calculation;
}

只需在$this->second();方法中$this->variable = $calculation;之后插入first即可。

答案 1 :(得分:1)

为什么不使用某个会话变量?

Session::put('calculation', $this->variable);

$value = Session::get('calculation');

答案 2 :(得分:0)

您要在一个http调用中调用第一个方法,而在另一个HTTP调用中调用第二个方法,因此如果您要在不同请求中共享变量,则这两个应用程序是完全独立运行的,您应该使用某种数据库