首页 > 解决方案 > 如何通过在codeigniter中使用id数组从数据库中获取数据?

问题描述

我的控制器中有一个 id 数组,该数组在视图中的表单中有复选框输入。$toppings = $this->input->get('topping');

Array
(
  [0] => 1
  [1] => 3
  [2] => 4
)

我正在尝试从数据库中获取与数组中每个 id 相关的信息。

    $toppings = $this->input->get('topping');
    foreach ($toppings as $topping ) {
        $id = $topping;
        $toppinglist = $this->toppingmodel->find_topping($id);
        echo'<pre>'; print_r($toppinglist); die();

    }

模型类 -

function find_topping($id)
{
    $query = $this->db->get_where('Topping', array('id' => $id));
    return $query->row_array(); }

}

我得到的输出数组只是第一个 id 的数据

Array
(
  [id] => 1
  [slug] => mushroom
  [toppingName] => Mushrooms
  [price] => 50.00
)

如何获取与数组中每个 id 相关的所有数据。(嵌套数组)谢谢。

标签: phpmysqlarrayscodeignitermodel-view-controller

解决方案


控制器:-

$toppings = $this->input->post('topping');    //Array         
$toppinglist = $this->toppingmodel->find_topping($toppings);

模型:-

function find_topping($idArr = array()){         //Array  
 $query = $this->db->where_in("Topping", $idArr)->get("tablename");
     return $query->result_array();
}

注:- $idArr = array()表示

使函数具有数组的默认值,否则如果传递了其他内容,您将在查询中收到错误。


推荐阅读