我遇到问题我只想选择具有user_id = $ this-> session-> id,status = 4小时,8小时并在家工作的特定行。
编辑: 我的所有状态是
在家工作
8小时
4小时
休假
病假
但发生的事情是它只返回特定user_id的所有Work From Home,而不包括4小时和8小时状态
控制器
$order_by = "id desc";
$where = ['user_id' => $this->session->id,'status' => '4 hours', 'status' => '8 hours','status' => 'Work From Home'];
$this->Crud_model->fetch('record',$where,"","",$order_by);
MODEL
public function fetch($table,$where="",$limit="",$offset="",$order=""){
if (!empty($where)) {
$this->db->where($where);
}
if (!empty($limit)) {
if (!empty($offset)) {
$this->db->limit($limit, $offset);
}else{
$this->db->limit($limit);
}
}
if (!empty($order)) {
$this->db->order_by($order);
}
$query = $this->db->get($table);
if ($query->num_rows() > 0) {
return $query->result();
}else{
return FALSE;
}
}
答案 0 :(得分:1)
尝试以下方法:
<强>控制器:强>
$order_by = "id desc";
$where = ['user_id' => $this->session->id];
$where_in = ['name' => 'status', 'values' => ['4 hours', '8 hours', 'Work From Home']];
$this->Crud_model->fetch('record',$where,"","",$order_by, $where_in);
<强>型号:强>
public function fetch($table,$where="",$limit="",$offset="",$order="", $where_in = false){
if (!empty($where)) {
$this->db->where($where);
}
if (!empty($limit)) {
if (!empty($offset)) {
$this->db->limit($limit, $offset);
}else{
$this->db->limit($limit);
}
}
if (!empty($order)) {
$this->db->order_by($order);
}
if($where_in)
{
$this->db->where_in($where_in['name'], $where_in['values']);
}
$query = $this->db->get($table);
if ($query->num_rows() > 0) {
return $query->result();
}else{
return FALSE;
}
}
这使用where_in
功能获取这些status
值的所有记录。
答案 1 :(得分:0)
Associate Array方法:
$array = array('name' => $name, 'title' => $title, 'status' => $status);
$this->db->where($array);
// Produces: WHERE name = 'Joe' AND title = 'boss' AND status = 'active'
或者如果你想做除比较
以外的事情 $array = array('name !=' => $name, 'id <' => $id, 'date >' => $date);
$这 - &GT; DB-化合物其中($阵列);