我正在使用ActiveRecord生成如下查询
SELECT * FROM (`foods`) WHERE `type` = 'fruits' AND
`tags` LIKE '%green%' OR `tags` LIKE '%blue%' OR `tags` LIKE '%red%'
和的数量tags
未知。数组是动态创建的。下面我添加了一个可能的数组。
$tags = array (
'0' => 'green'.
'1' => 'blue',
'2' => 'red'
);
具有一个标签数组,我使用以下循环创建我发布在顶部的查询。
$this->db->where('type', $type); //var type is retrieved from input value
foreach($tags as $tag):
$this->db->or_like('tags', $tag);
endforeach;
问题:我需要在LIKE
子句周围添加括号,如下所示:
SELECT * FROM (`foods`) WHERE `type` = 'fruits' AND
(`tags` LIKE '%green%' OR `tags` LIKE '%blue%' OR `tags` LIKE '%red%')
如果括号中的内容是静态的,但是foreach循环使我失望,我知道如何实现此目的。
从CI Wiki:
Codeignighter ActiveRecord功能使您可以相对简单地且独立于数据库地创建SQL查询,但是对于在SQL查询中包含括号没有特定的支持。
例如,当您希望以下语句同时出现where语句时:
WHERE (field1 = value || field2 = value) AND (field3 = value2 || field4 = value2)
可以通过将字符串输入CI-> db-> where()函数来解决此问题,在这种情况下,您将希望专门转义您的值。
请参见以下示例:
$value=$this->db->escape($value);
$value2=$this->db->escape($value2);
$this->db->from('sometable');
$this->db->where("($field = $value || $field2 = $value)");
$this->db->where("($field3 = $value2 || $field4 = $value2)");
$this->db->get();
可以对LIKE子句使用类似的解决方法:
$this->db->where("($field LIKE '%$value%' || $field2 LIKE '%$value%')");
$this->db->where("($field3 LIKE '%$value2%' || $field4 LIKE '%$value2%')");
问题内容: 这个问题已经在这里有了答案 : 在同一网页上显示两个表的数据 (1个答案) 7年前关闭。 我在CodeIgniter中使用联接查询,但无法使其正常工作。它仅显示一个表数据,而不显示其他表数据。我是CodeIgniter的新手,无法解决此问题。请别人帮我。提前谢谢。 看法 控制器 模型 编辑 的结果 是一个如下数组: 表结构 证书 cid(PRIMARY),姓名,second_name,
问题内容: 我有一个简单的问题:如何使用CodeIgniter的ActiveRecord 函数?我要这个: 但是,如果使用,则该值将介于反引号之间。 我怎样才能做到这一点? 更新 我想要的是?如果为1,那么我想要,而当 为5时,我想要。 完整的SQL查询: 问题答案: 只有一个简单的解决方法,丑陋,不够优雅,但是在这种情况下它可以工作: 如果有人知道更好,请显示出来!
在我删除索引之后。php,我在codeigniter中启用查询字符串。但我有一些重定向链接的问题。详细信息,我有登录表单(登录/索引),登录成功时重定向到“欢迎/索引”,并在会话中保存电子邮件。 但是登录成功时只加载视图的"欢迎/索引"和错误的链接,现在链接是:"?登录/索引"并且会话不保存。请帮帮我。 这是我的密码 登录。php(控制器) Welcome.php(控制器) 欢迎留言。php(视图
我有一个这样的SQL问题 根据用户输入,我想将botcode='r1'更改为给定输入。在不重新启动作业的情况下说出botcode='r10'。有没有办法做到这一点。我在flink 1.7上使用stream env。我尝试配置流来读取输入。但仍停留在如何动态更改查询上。有人能帮我吗?提前谢谢
我试图从动态表中选择对象,但当我运行我的代码时,我得到了一些错误...有一种方法可以做到这一点...我用的是JPAHibernate和后遗症 这里是错误。。。 org.springframework.dao.InvalidDataAccessResourceUsageExc0019,"dedegMessage":"org.springframework.dao.InvalidDataAccessR
问题内容: 我正在寻找一种使用Spring Data JPA动态构建查询的解决方案。我有一个GameController,它有一个RESTful服务终结点/ games,它带有4个可选参数:体裁,平台,年份,标题。可能不传递任何API,而是传递所有4种,以及之间的每种组合。如果未传递任何参数,则默认为null。我需要在存储库中使用一种方法来构建适当的查询,并且理想情况下还允许Spring Data