我想用cakephp进行这样的查询:
WHERE text LIKE '%keyword%'
AND
(
(text LIKE '%something%')
OR (text LIKE '%something%')
OR (...)
)
AND
(
(text LIKE '%other%')
OR (text LIKE '%other%')
OR (...)
)
NOT
(
(text LIKE '%dont include%')
OR (text LIKE '%dont include%')
OR (...)
)
这是我的$ conditions代码:
$conditions = array
(
'Tweet.text LIKE' => '%keyword%',
'AND' => array(
array(
'OR' => array(
// topic
array('Tweet.text LIKE' => '%something%'),
array('Tweet.text LIKE' => '%something%')
)
),
array(
'OR' => array(
// sentiment
array('Tweet.text LIKE' => '%other%'),
array('Tweet.text LIKE' => '%other%')
)
)
),
'NOT' => array(
array('Tweet.text LIKE' => '%dont include%'),
array('Tweet.text LIKE' => '%dont include%')
)
);
我正在使用Debugger :: dump()方法显示结果,并且结果仅使用最后一个“ OR”条件,而不是同时使用“ OR”条件:
array(
'Tweet.text LIKE' => '%keyword%',
'OR' => array(
(int) 0 => array(
'Tweet.text LIKE' => '%other%'
),
(int) 1 => array(
'Tweet.text LIKE' => '%other%'
)
),
'NOT' => array(
(int) 0 => array(
'Tweet.text LIKE' => '%dont include%'
),
(int) 1 => array(
'Tweet.text LIKE' => '%dont include%'
)
)
)
我的问题是,如何进行查询以同时使用“ OR”条件?
请尽快回复..在此先感谢:)
请尝试以下方法:
$conditions = array(
'Tweet.text LIKE' => '%aa%', //implied and
array( //implied and
'or' => array(
array('Tweet.text LIKE' => '%11%'),
array('Tweet.text LIKE' => '%22%'),
array('Tweet.text LIKE' => '%33%'),
...
)
),
array( //implied and
'or' => array(
array('Tweet.text LIKE' => '%123%'),
array('Tweet.text LIKE' => '%456%'),
array('Tweet.text LIKE' => '%789%'),
...
)
)
'not' => array(
'or' => array(
array('Tweet.text LIKE' => '%x%'),
array('Tweet.text LIKE' => '%y%'),
array('Tweet.text LIKE' => '%z%'),
...
)
)
)
text LIKE aa
AND ( either 11, 22, 33 )
AND (either 123, 456, 789)
BUT NOT (x || y || z)`
任何阵列没有指定or
,and
或者not
是and
。无需手动指定。
本文向大家介绍Spring Data JPA 复杂/多条件组合分页查询,包括了Spring Data JPA 复杂/多条件组合分页查询的使用技巧和注意事项,需要的朋友参考一下 话不多说,请看代码: buildPageRequest()方法,导入的包,下面是自己写的方法 getPageMap()方法: JPA的Page也是集合,获取Page集合里的值,最后获取到的这些(key,value) 以上就是
我得到了以下许多映射。 我想检索所有与Classe2实体有关系的Class1实体,它们的类2Id=1和类2Id=2和类2Id=3。{1,2,3} 或者,要筛选在其class2列表上具有值的Class1实体,请使用值class2Id=1、class2Id=2和class2Id=3的class2实体 例如: 如果在联接表上,我得到了以下值。 对于这个例子,结果将是类1Id为1和6的类1。因为类1实体,
本文向大家介绍JPA多条件复杂SQL动态分页查询功能,包括了JPA多条件复杂SQL动态分页查询功能的使用技巧和注意事项,需要的朋友参考一下 概述 ORM映射为我们带来便利的同时,也失去了较大灵活性,如果SQL较复杂,要进行动态查询,那必定是一件头疼的事情(也可能是lz还没发现好的方法),记录下自己用的三种复杂查询方式。 环境 springBoot IDEA2017.3.4 JDK8 pom.x
我需要从已经收到的结果对象中查询不同元素组合的数据库。 例如,我得到一个实体的列表。对于Person实体中的每个人,我需要获取地址列表(每个人)。 有两种方法可以做到这一点: < li >迭代Person实体,并为每个Person实体发出一个查询,以获取该人的地址列表。 < li >使用来自Person实体的元素动态构建查询,并启动一个查询来提取所有人员的所有地址列表,然后再次迭代Person实体
问题内容: 在我当前的项目中,我遇到了使用hibernate条件查询获取实体的问题。我有以下实体: 教授,其中包含学生名单 学生,其中包含作业列表。 作业,其中包含分配到的学生的ID。 现在,我想获得与教授有关的所有作业,即教授分配给他的学生的所有作业。 此查询显示我要在条件查询中实现的内容。 如何使用hibernate条件API实施此查询? 问题答案: 假设您的表格是这样的: 使用别名的简单示例
问题内容: 我为这个可怕的标题道歉,我想不出如何解释我的问题。 在我的数据库中,有,,和下表。一篇文章可以有很多标签。 目前,我能够使用所有标签来获取所有文章,但是我希望能够基于其标签来查找文章。 我的选择很简单: 我从数据库中返回的信息如下: 如果我只想返回带有标签的文章怎么办? 问题答案: 试试这个