我一直在阅读有关这两项功能的文档,但我仍然无法完全理解这两项功能。
我认为get_where
从数据库中选择数据,但我们何时应该使用where()
函数而不是get_where()
?
答案 0 :(得分:4)
使用CodeIgniter的ActiveRecord实现还有很多其他方法可以获取数据,但如果需要,还可以使用完整的SQL查询: 例如:
$query = $this->db->get_where('people', array('id' => 449587));
最终,get_where()
是一个天真的案例,当然也是我代码中最常用的案例 - 我无法想到任何其他语言中的另一个框架,它使您能够通过一行代码。
get_where([$table = ''[, $where = NULL[, $limit = NULL[, $offset = NULL]]]])
参数:
此功能作为get()
使用,但也可以直接添加WHERE
。
与
$this->db->get();
相同,但允许您添加 第二个参数中的where
子句,而不是使用db->where()
功能。
此功能使您可以在查询中设置WHERE子句。
您还可以添加where子句,排序条件等:
$this->db->select('first_name', 'last_name');
$this->db->from('people');
$this->db->where('id', 449587);
$this->db->order_by('last_name, first_name');
$query = $this->db->get();
可以将所有这些条件链接在一起,但我更喜欢将它们放在单独的行上以便于阅读。
简单来说,get_where
是一种奢侈品,但where()
为您提供了更大的灵活性。
答案 1 :(得分:1)
get_where
是一个组合函数 - 可以说是where()
和get()
函数,
根据文件:
<强> $这 - &GT; DB-&GT; get_where()强>
与上述功能相同,只是它允许你添加一个 &#34;其中&#34;第二个参数中的子句,而不是使用 db-&gt; where()函数
还可以快速浏览一下您将注意到的get_where()
方法的源代码
if ($where !== NULL)
{
$this->where($where);
}
其中$where
是get_where()
方法的第二个参数。
简单来说,$this->db->get_where('table name', 'where clause')
是$this->db->where('where clause')->get('table name');