无论如何从Yii2中的前一个过滤器获取变量?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无论如何从Yii2中的前一个过滤器获取变量?相关的知识,希望对你有一定的参考价值。

在Yii2.0中,我想从前一个过滤器中获取一个值,以避免在每个过滤器中进行相同的查询。无论如何要做到吗?

例如,这是我在控制器中的代码:

public function behaviors() {
    return [
        'filter1' => ['class' => Filter1::className()],
        'filter2' => ['class' => Filter2::className()]
    ];
}

filter1中,我创建了一个sql查询,我想在filter2中使用此查询的结果,因为我不想再次进行此查询。 我应该怎么做 ? 如果我想从控制器中的过滤器获取值,我该怎么办?

答案

虽然您将耦合您的行为 - 您可以通过附加到的组件访问任何行为

\Yii::$app->controller->getBehavior('filter1')->yourValue

或者来自filter2的行为:

$this->owner->getBehaviour('filter1')->yourValue

看到

http://www.yiiframework.com/doc-2.0/yii-base-behavior.html#$owner-detail

以上是关于无论如何从Yii2中的前一个过滤器获取变量?的主要内容,如果未能解决你的问题,请参考以下文章

从Yii2高级模板Gridview获取值过滤

Yii2 和 reactjs CORS 过滤器给出错误:预检响应具有无效的 HTTP 状态代码 401

Yii2- Select2 按钮作为网格视图过滤器不过滤

如何将参数从控制器传递到 YII2 中的布局

如何使用Yii2中的left join从两个表中获取所有列数据

Yii2 从表单获取用户输入