我是codeigniter的新手,只是在查询中堆叠以解决紧急项目的报告。请帮我Codeigniter的专家。
SELECT * FROM ospos_pak_sub_cat WHERE id %2 =0;
在原始PHP编码中为我工作。如何在Codeigniter中使用它。我在该查询中使用了Where Condition,现在想要添加新查询。 现有Where条件如下,工作正常。
$this->db->where('sale_date BETWEEN "'. $inputs['start_date']. '" and "'. $inputs['end_date'].'"');
它正在运行,我尝试了下面的代码来获得无效的解决方案并获得错误。
$this->db->where('sale_id %2'=> 0);
获取此行的错误。说 -
Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW)
请帮我解决问题。提前致谢。
答案 0 :(得分:7)
在您的模型中,只需编写类似的查询:
$this->db->select('*');
$this->db->from('ospos_pak_sub_cat');
$this->db->where('sale_id %2=', 0);
$query_result = $this->db->get();
$result = $query_result->result();
您错过了代码中的'='。希望,它会奏效。
答案 1 :(得分:0)
我不确定,但我认为它会起作用尝试这一行
$this->db->where('sale_id %2',0);
答案 2 :(得分:0)
正如您所提到的,您可以在现有的where条件中添加新条件,如下所示
$this->db->where('(sale_date BETWEEN "'. $inputs['start_date']. '" and "'. $inputs['end_date'].')" and ((sale_id % 2) = 0)');
答案 3 :(得分:0)
%字符是通配符而不是模数,它可以解释您的错误。您可以使用MOD功能代替http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_mod
所以生成的代码是:
$this->db->where('MOD(sale_id ,2) => 0');