php - 如何通过在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 相关的所有数据。(嵌套数组)谢谢。
解决方案
控制器:-
$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()
表示
使函数具有数组的默认值,否则如果传递了其他内容,您将在查询中收到错误。
推荐阅读
- android - 如何避免 IllegalStateException 尝试重新打开已经关闭的对象:SQLiteDatabase?
- python - 按类名查找找不到元素
- spring - 使用 Wss4jSecurityInterceptor 的 SOAP 请求中的空 SignatureValue 和 DigestValue
- syndesis - 在现有 Syndesis API 端点上获取 404 以创建数据库快照
- python - 使用 psycopg2 在 PSQL 中插入 python dict
- elasticsearch - 如何在 Elasticsearch 中减去两个值
- rust - 将值插入“HashMap”并获取对该值的引用
- database - Flutter 中的动态图标
- laravel-5 - 类 Illuminate\Database\Eloquent\Builder 的对象无法在过滤中转换为字符串
- python-2.7 - 确认 ssl 证书的问题:HTTPSConnectionPool(host='pypi.org', port=443):