覆盖Yii2和Where()条件

问题描述 投票:0回答:1

通过我的yii2应用程序,我想转向如下查询:

Post::find()->andWhere(['id'=>$id])->one();

Post::find()->andWhere(['id'=>'uuid_to_bin('.$id.')'])->one();

因为这段代码无处不在,所以我不想经历并手动更改每一个查询。所以我认为更容易就是覆盖yii2的基类之一,类似于这种方法:http://www.yiiframework.com/doc-2.0/guide-helper-overview.html#customizing-helper-classes并检查我们是否将id作为列条件,我们只是对条件进行一些转换。

我应该覆盖哪个类,以便每当调用andWhere()orWhere()以及where()等时,我都可以轻松更新和转换查询条件?

yii2
1个回答
-1
投票

如果检查由gii和Generate ActiveQuery生成的模型。

您可以在生成的查询类中找到此代码

/*public function active()
{
    return $this->andWhere('[[status]]=1');
}*/

像这样调用函数

Post::find()->active()->one()

祝好运

© www.soinside.com 2019 - 2024. All rights reserved.