【发布时间】:2015-10-07 16:30:42
【问题描述】:
我对数组有一个大问题,我对它们没有什么经验。
我有 3 个表(材料、供应商和第三个表与 id 相关联)
我需要的是获取每种材料的数据和供应商列表
$this->db->select('m.id as id_material,m.nombre as detalle');
$this->db->from('materiales as m');
$res = $this->db->get();
$result =array();
$prov=array();
foreach($res->result_array() as $key){
$result[$key["detalle"]]=$key["detalle"];
$this->db->select("m.id as idm,m.nombre as nom,p.nombre_comercial as prov_nom");
$this->db->from('materiales as m');
$this->db->join('materiales_proveedores as mp', 'm.id = mp.id_material', 'inner');
$this->db->join('proveedores as p', 'p.id = mp.id_proveedor', 'inner');
$res2 = $this->db->get();
foreach($res2->result_array() as $key2){
$result["proveedores"][$key2["prov_nom"]]=$key2["prov_nom"];
}
}
return $result;
通过这个查询我得到这个: enter image description here
这是错误的,因为它向我显示了所有供应商,而不是每种材料对应一个,有什么帮助吗?
【问题讨论】:
-
您可以使用 SQL join 或 codeigniter 活动记录集轻松完成此操作,请参阅链接
https://ellislab.com/codeigniter/user-guide/database/active_record.html -
我在使用joins,问题不在于如何构建数组
标签: php database codeigniter multidimensional-array