Yii 1.x querybuilder concat函数给出错误

我只想使用一个参数来搜索4列字段。我想通过block_no的请求变量搜索street_addressprojectname列。如何使用yii querybuilder进行搜索?它给我一个错误Call to undefined function concat()

样本数据

project_name| postal_code | block_no | street_address      |
RIO VISTA   |   123456    |    22    | Upper Serangoon View|

我只想使用一个参数请求来搜索它们,最后,如果我想像这样22 Upper Serangoon View进行搜索,则会得到结果。有人可以帮我弄这个吗?我该怎么办?非常感谢。

我的查询

  function actionGetRecordQuery(){

        $projectname = $_REQUEST['projectname'];

        $required = 'Field is required';

        if (empty($projectname)){
            echo $required;
        }
        else{
            $result = Yii::app()->db->createCommand()
            ->select('*')
            ->from('xp_pn_ura_transactions')
            ->having(['LIKE','project_name','%'.$projectname.'%'])
            ->having(['LIKE','postal_code','%'.$projectname.'%'])
            // ->having(['LIKE','block','street','%'.$projectname.'%'])
            ->having([concat('','street'),'LIKE','%'.$projectname.'%'])
            ->limit(1000)
            ->queryAll();
            echo json_encode($result);    
        }

    }
yf123654 回答:Yii 1.x querybuilder concat函数给出错误

尝试此代码。我为此使用原始sql查询。您必须整理要搜索的字段。

  function actionGetRecordQuery(){

        $projectname = $_REQUEST['projectname'];

        $required = 'Field is required';

        if (empty($projectname)){
            echo $required;
        }
        else{
            $result = Yii::app()->db->createCommand("
            SELECT * FROM scraping.xp_pn_ura_transactions WHERE CONCAT
            (block,' ',street,'',project_name,postal_code,'') LIKE '%$projectname%'")
            ->limit(1000)
            ->queryAll();
            echo json_encode($result);    
        }

    }
,

您需要对SQL表达式使用CDbExpression

$result = Yii::app()->db->createCommand()
    ->select('*')
    ->from('xp_pn_ura_transactions')
    ->having([
        'AND',['LIKE','project_name','%' . $projectname . '%'],'postal_code',new CDbExpression("CONCAT(block_no,street_address)"),])
    ->limit(1000)
    ->queryAll();

    echo json_encode($result); 
本文链接:https://www.f2er.com/2916229.html

大家都在问