如何在Yii2查询中编写替换字符串函数

时间:2019-01-21 09:34:52

标签: php mysql yii2

我有一个MySQL查询,该查询根据传递给列的替换字符串值选择列

SELECT * FROM Table WHERE REPLACE(column_name, '.', '') = 'value';

在上面的查询中,我从表的column_name中删除了点值,并传递了不带点的值,效果很好。

现在我需要进行此查询才能在Yii2查询中工作

我在Yii2中有一个查询,如下所示,

$Table= Table::findOne([ column_name => \Yii::$app->request->post('value')]);

如何使第一个查询条件在Yii2查询中起作用?

2 个答案:

答案 0 :(得分:2)

使用喜欢

$Table= Table::find()
      ->where(["REPLACE(column_name, '.', '')" => \Yii::$app->request->post('value')])
      ->one();

引用Yii2 DB Query Builder Guide

答案 1 :(得分:1)

一种简单的方法是在条件

中使用字符串格式
  $Table= Table::find()->where("REPLACE(column_name, '.', '') = 'value'")->one();

您可以在本指南中找到有用的示例

https://www.yiiframework.com/doc/guide/2.0/en/db-query-builder