Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将SQL查询转换为条令代码_Mysql_Doctrine - Fatal编程技术网

Mysql 将SQL查询转换为条令代码

Mysql 将SQL查询转换为条令代码,mysql,doctrine,Mysql,Doctrine,如何将此SQL查询写入Doctrine 1.2查询 SELECT * FROM homes WHERE published = 1 AND ( LOWER(country) LIKE '$search%' OR LOWER(city) LIKE '$search%' OR LOWER(area) LIKE '$search%' ) 编辑 这是我的实际查询。上面的例子是一个简化的版本。我现在只想知道,我如何

如何将此SQL查询写入Doctrine 1.2查询

SELECT * FROM homes 
    WHERE published = 1 
    AND
    (
     LOWER(country) LIKE '$search%' 
     OR 
     LOWER(city) LIKE '$search%'
     OR
     LOWER(area) LIKE '$search%'
    )
编辑

这是我的实际查询。上面的例子是一个简化的版本。我现在只想知道,我如何将多个位置组合在一起

Doctrine_Query::create()
                        ->select('h.*,c.*')
                        ->from('Homes h')
                        ->where('h.published = ?',1)
                        ->addWhere('LOWER(c.printable_name) LIKE ?', $search . "%")
                        ->orWhere('LOWER(h.city) LIKE ?', $search . "%")
                        ->orWhere('LOWER(h.area) LIKE ?', $search. "%")
                        ->orWhere('LOWER(h.name) LIKE ?', $search. "%")

                        ->leftJoin('h.Countries c');

好的,有效的脚本是:

Doctrine_Query::create()
                        ->select('h.*,c.*')
                        ->from('Homes h')
                        ->where('h.published = ?',1)
                        ->andWhere('LOWER(c.printable_name) LIKE ? OR LOWER(h.city) LIKE ? OR LOWER(h.area) LIKE ? OR LOWER(h.name) LIKE ?', array($search . "%",$search . "%",$search . "%",$search . "%"))
                        ->leftJoin('h.Countries c');

我不知道这是否是编写它的最佳方式。

为什么需要显式降低字段?对于默认排序规则,类似mysql的ci不区分大小写。您尝试过什么?错误消息是什么?你知道LIKE不区分大小写吗?我使用的是UTF-8和UTF_general_ci,没有更低的大小写。我没有得到不区分大小写的结果。他们对单引号搜索文本执行上述查询也很好eample$string=testin'g