我有一个查询将其作为其中的一部分:
$this->db->where(array(
'jobs.open_intentions' => 1,
'jobs.open' => 1,
'jobs.pending' => 0,
'jobs.awarded' => 0));
哪种方法很好,但我不喜欢那种格式,实际上我更喜欢把它写成
$this->db->where('jobs.open_intentions', 1)
->where('jobs.open', 1)
->where('jobs.pending', 0)
->where('jobs.awarded', 0);
尼特采摘我知道,但无论如何,我的问题是,是否有任何理由我应该选择一种方法而不是另一种方法呢?
答案 0 :(得分:1)
从语义上讲,后者(多个where
s)对我来说更像是多个AND
- 条款。对于前者,意图不明确(没有查看API文档)。
答案 1 :(得分:1)
虽然后来的方法很常用,但为了简单和清晰的代码,你也可以这样做
$where = array(
'jobs.open_intentions' => 1,
'jobs.open' => 1,
'jobs.pending' => 0,
'jobs.awarded' => 0
);
$this->db->where($where);
答案 2 :(得分:0)
我在后面看到的一个优点就是你可以使用不同的where子句,例如: or_where,where_in,or_where_in使用干净的代码,这在以前的代码中非常困难。但是,如果您使用单个运算符,则两者都相同。