使用 CodeIgniter 的查询构建方法,具有由 OR 分隔的两个条件的 WHERE 子句
我正在使用以下代码从 CodeIgniter Web 应用程序中的 MySQL 数据库中进行选择:
$query = $this->db
->get_where('mytable', array('id' => 10));
这非常有效,但我想使用 CI 查询生成器方法编写以下 MySQL 语句。
SELECT *
FROM `mytable`
WHERE `id`='10' OR `field`='value'
I am using the following code to select from a MySQL database in a CodeIgniter webapp:
$query = $this->db
->get_where('mytable', array('id' => 10));
This works great, but I want to write the following MySQL statement using CI query builder methods.
SELECT *
FROM `mytable`
WHERE `id`='10' OR `field`='value'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
您可以使用 or_where() 来实现 - CI 文档中的示例:
You can use or_where() for that - example from the CI docs:
你可以使用这个:
You can use this :
将使用活动记录方法
or_where
:Active record method
or_where
is to be used:虽然我迟到了 3/4 个月,但在定义了 where 子句后,您仍然执行以下操作...
$this->db->get("tbl_name");
Though I am 3/4 of a month late, you still execute the following after your where clauses are defined...
$this->db->get("tbl_name");
对我有用的:
我必须这样做才能创建如下查询:
What worked for me :
I have to do this to create a query like this :
您无法完全享受 CodeIgniter 的查询生成器方法并单独使用
get_where()
实现 OR 条件,因为它隐式地使用 AND 连接条件。or_where()
确实可以方便地接收条件数组并用 OR 连接每个条件。渲染 SQL:
or_where()
的其他实现可以在这里找到:You cannot fully enjoy CodeIgniter's query builder methods and implement the OR condition with
get_where()
alone because it implicitly joins conditions with AND.or_where()
does conveniently receive an array of conditions and joins each condition with OR.Rendered SQL:
Other implementations of
or_where()
can be found here: