在Yii2中,考虑父表和子表两个表。如果子节点与父节点有关系,那么在编写连接查询时,它将产生类似
的结果Parent[id => 1,
firstname => "John",
lastName => "Miller"
child => [id : 1,
address : some address,
contact number : some nubmer
]
]
但在Codeignitor中,它显示为与mysql查询的输出相同。如何在CodeIgnitor中实现我的要求。
先谢谢。
答案 0 :(得分:0)
有各种方法可以实现这一目标。 您可以查询父项,然后循环子项
$query_parent = $this->db->query($"
SELECT *
FROM parent
WHERE id = ?", [$parent_id]);
if($query_parent !== FALSE && $query_parent->num_rows() > 0)
{
$result_array_parent = $query_parent->result_array();
$query_parent->free_result();
foreach ($result_array_parent as $k_p => $v_p)
{
$query_child = $this->db->query($"
SELECT *
FROM child
WHERE id = ?", [$v_p['id']);
if($query_child !== FALSE && $query_child->num_rows() > 0)
{
$result_array_child = $query_child->result_array();
$query_child->free_result();
foreach ($result_array_child as $k_c => $v_c)
{
$result_array_parent[$k_p]["child_".$k_c] = $v_c;
}
}
}
}
或者执行Join查询,然后将其转换为数组。