我有一个MySQL查询,该查询根据传递给列的替换字符串值选择列
SELECT * FROM Table WHERE REPLACE(column_name, '.', '') = 'value';
在上面的查询中,我从表的column_name
中删除了点值,并传递了不带点的值,效果很好。
现在我需要进行此查询才能在Yii2查询中工作
我在Yii2中有一个查询,如下所示,
$Table= Table::findOne([ column_name => \Yii::$app->request->post('value')]);
如何使第一个查询条件在Yii2查询中起作用?
答案 0 :(得分:2)
使用喜欢
$Table= Table::find()
->where(["REPLACE(column_name, '.', '')" => \Yii::$app->request->post('value')])
->one();
答案 1 :(得分:1)
一种简单的方法是在条件
中使用字符串格式 $Table= Table::find()->where("REPLACE(column_name, '.', '') = 'value'")->one();
您可以在本指南中找到有用的示例
https://www.yiiframework.com/doc/guide/2.0/en/db-query-builder