Yii2-将变量从视图传递到Gridview自定义操作列

Yii2-将变量从视图传递到Gridview自定义操作列,gridview,yii2,Gridview,Yii2,我想保存用户在点击页面gridview小部件中的“编辑”按钮之前访问的最后一个位置。我创建了一个名为$lastAddress的变量,但我真的不知道如何将其传递到gridview并将其附加到“Edit”按钮的$url变量。有人能告诉我怎么做吗 $lastAddress = 'xxx'; <?= GridView::widget([ ... [ 'class' => '

我想保存用户在点击页面gridview小部件中的“编辑”按钮之前访问的最后一个位置。我创建了一个名为$lastAddress的变量,但我真的不知道如何将其传递到gridview并将其附加到“Edit”按钮的$url变量。有人能告诉我怎么做吗

$lastAddress = 'xxx';
    <?=
        GridView::widget([
            ...
                [
                    'class' => 'yii\grid\ActionColumn',
                    'template' => '{view} {update} {delete}',
                    'buttons' => [
                        'update' => function ($url, $model) {
                            $url .= '&lastAddress=' . $lastAddress; //This is where I want to append the $lastAddress variable.
                            return Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url);
                        },
                    ],
                ],
            ],
        ]);
        ?>
$lastAddress='xxx';
用于将变量从父范围传递到闭包:

'update' => function ($url, $model) use ($lastAddress) {
    $url .= '&lastAddress=' . $lastAddress; //This is where I want to append the $lastAddress variable.
    return Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url);
},
'update'=>函数($url,$model)使用($lastAddress){
$url.='&lastAddress='.$lastAddress;//这是我要附加$lastAddress变量的地方。
返回Html::a(“”,$url);
},

my day to:-)谢谢。我对上述问题还有一个疑问。如上所述,每次执行更新操作时,它们都会将一个静态值分配给$lastAddress,并将$lastAddress值与$url组合。但我在dataProvider中有两列,比如wise,“tracker_id”和“id”。我在gridview列中将tracker_id显示为链接。每当我单击跟踪器id时,相应的动态id需要传递给controlleraction。有人能帮我吗?提前谢谢。@topher有没有可能用另一种方法来处理。。。在函数中设置$lastAddress我也需要用另一种方法,一旦找到值,就用它更新变量…?请不要这样构造URL。改用
yii\helpers\Url