Activerecord yii2中区分大小写的查询

Activerecord yii2中区分大小写的查询,activerecord,yii2,case-sensitive,Activerecord,Yii2,Case Sensitive,要在yii2中查找记录,我使用以下代码: $response = Response::findOne(['unique_url' => $unique_url]); 但无论大小写如何,它都会返回记录。 如何区分大小写?我认为你应该像二进制一样使用 为此,您应该扩展modelSearch,在查询条件中添加子句 public function search($params) { $query = YuorModel::find(); ....... ...

要在yii2中查找记录,我使用以下代码:

$response = Response::findOne(['unique_url' => $unique_url]);
但无论大小写如何,它都会返回记录。
如何区分大小写?

我认为你应该像二进制一样使用

为此,您应该扩展modelSearch,在查询条件中添加子句

public function search($params)
{
    $query = YuorModel::find();      
    .......
    .......

    $query->andFilterWhere(['like binary', 'unique_url', $this->unique_url])
          ->andFilterWhere(['like', 'your_field2', $this->your_field2])
    .......

我为此找到的最佳解决方案:

Response::find()->where('BINARY [[unique_url]]=:unique_url', ['unique_url'=>$unique_url])->one();

谢谢,找到一些简短的解决方案:$response=response::find()->where('BINARY[[unique\u url]]=:unique\u url',['unique\u url'=>$unique\u url])->one()@DmitryBorovkov您可以将此添加为另一个答案。您使用的是哪种数据库?我也有同样的问题,mySql