Codeigniter where子句与数组

时间:2018-03-13 15:21:20

标签: php mysql arrays codeigniter

Codeigniter中的

这是我的Controller =>愿望清单功能

  $data = array(
  'user_id' => $this->_user_id
  );
  $order_by = "id";
  $query = $this->Database_model->get_data('wishlist','*', $data, $order_by);

  print_r($query);

结果:

Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [item_id] => 2
            [user_id] => 2
            [tarix] => 2018-03-13 00:00:00
        )

    [1] => stdClass Object
        (
            [id] => 2
            [item_id] => 15
            [user_id] => 2
            [tarix] => 2018-03-13 00:00:00
        )

    [2] => stdClass Object
        (
            [id] => 3
            [item_id] => 10
            [user_id] => 2
            [tarix] => 2018-03-13 00:00:00
        )

)

现在我希望得到所有" 项目"表数据WHERE id = 所有这些" item_id" 在数组内。

我尝试使用foreach创建新数组并将所有item_id推入其中,但在Codeigniter中我无法进行查询。

1 个答案:

答案 0 :(得分:1)

你可以这样做: 在您的控制器中

$data = array(
    'user_id' => $this->_user_id
);
$order_by = "id";
$query = $this->Database_model->get_data('wishlist','*', $data, $order_by);

$where = array();
foreach ($query as $key => $value)
    array_push($where, $value->item_id); //  Must be item_id

$my_items = $this->Database_model->get_custom_items('items', $where);

在你的模特中

public function get_custom_items($table, $where)
{
    $this->db->select('*');
    $this->db->where_in('id', $where); // Must be id
    return $this->db->get($table)
}