首页 > 解决方案 > 在 Yii2 中使用 'like' 在文本中搜索 url

问题描述

我试图在字符串中搜索“ http://www.example.com/ ”关键字。为此,我正在使用以下代码片段。

第一个代码

$query = 'SELECT DISTINCT pa.id
                FROM qbnk_answer a
                INNER JOIN qbnk_question AS q
                ON q.id = a.question_id 
                INNER JOIN qbnk_assessment_question_xref AS aqx
                ON q.id = aqx.question_id
                INNER JOIN qbnk_published_assessment AS pa
                ON aqx.assessment_id = pa.assessment_id 
    where a.label LIKE "%http://www.example.com/%"';

    $command = $connection->createCommand($query);
    $results = $command->queryAll(); 

第二个代码

$query = new Query();
    $query = $query->select(['pa.id'])
            ->from(['a' => Answer::tableName()])
            ->innerJoin(['q' => Question::tableName()], "a.question_id = q.id")
            ->innerJoin(['aqx' => AssessmentQuestionXref::tableName()], "aqx.question_id = q.id")
            ->innerJoin(['pa' => PublishedAssessment::tableName()], "aqx.assessment_id = pa.assessment_id")
            ->where(['like', 'a.label', 'http://www.example.com/' ]);
    $command = $connection->createCommand($query);
    $command->execute();

这两个代码在我的本地 Windows 环境中运行良好。但是当我将它们移动到运行 linux 的服务器时不起作用。但如果我从搜索关键字中删除“/”(正斜杠),它会起作用。

有什么解决方案对我很有帮助吗

标签: phpyii2sql-like

解决方案


推荐阅读