覆盖Yii2和Where()条件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了覆盖Yii2和Where()条件相关的知识,希望对你有一定的参考价值。
通过我的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()
祝好运
以上是关于覆盖Yii2和Where()条件的主要内容,如果未能解决你的问题,请参考以下文章
yii2:多条件多where条件下碰到between时,between语句如何处理呢?
php Yii2 model :: find()具有默认的WHERE条件