通过我的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()
等时,我都可以轻松更新和转换查询条件?
如果检查由gii和Generate ActiveQuery
生成的模型。
您可以在生成的查询类中找到此代码
/*public function active()
{
return $this->andWhere('[[status]]=1');
}*/
像这样调用函数
Post::find()->active()->one()
祝好运