如何在ci活动记录中组合两个或多个数组?

时间:2014-09-17 05:50:38

标签: mysql codeigniter activerecord

下面是我的ci模型中的一段代码

    $project_type_ids = $this->input->post('project_type_ids');
    $project_status_ids = $this->input->post('project_status_ids');

    $this->db->select('project_title, lat, lang, type');
    $this->db->from('projects');
    $this->db->join('project_type', 'project_type.id = projects.project_type_id');
    $this->db->join('project_status', 'project_status.id = projects.project_status_id');
    $this->db->where_in("project_type_id",$project_type_ids);
    $this->db->where($this->db->where_in("project_status_id",$project_status_ids));
    $result = $this->db->get();
  1. 在ci中有类似$ this-> db-> and_where_in()的内容吗? 我在ci用户指南中找不到这样的活动记录语法。 请注意,$ project_type_ids和$ project_status_ids都是从前端通过ajax传递给模型的数组。

  2. 使用$this->db->last_query();我从数据库中获取查询及其查询结果,但也有如下警告:

  3.   

    遇到PHP错误

    严重性:警告


      

    消息:非法偏移类型

    文件名:   database / DB_active_rec.php

    行号:402

          


    SELECT `project_title`, `lat`, `lang`, `type`
      FROM (`projects`)
      JOIN `project_type` ON `project_type`.`id` = `projects`.`project_type_id`
    JOIN `project_status` ON `project_status`.`id` = `projects`.`project_status_id`
    WHERE `project_type_id` IN ('1', '2', '3', '4', '5') 
    AND `project_status_id` IN ('1', '2', '3')
    

1 个答案:

答案 0 :(得分:1)

更改

$this->db->where($this->db->where_in("project_status_id",$project_status_ids));

$this->db->where_in("project_status_id",$project_status_ids);