コードイグナイターを使用しています。大学という名前の DB からデータの多次元配列を作成する必要があります。データベースには、id、OfID、name の 3 つの列があります。OfID 列には、その大学の親の ID が含まれています。親がいない大学の場合、OfID は 0 です。
配列には、最初の次元の要素として OfID=0 を持つ大学の名前、ID、および OfID が含まれている必要があります。OfID!=0 を持つ大学では、ID が OfID である大学の 2 番目 (など) の次元配列として配置する必要があります。
これを再帰的にやろうと思ったのですが、これを終えることができません。これには多くの間違いがあることを知っています。助けてください。
モデルクラスは次のとおりです: (コントローラーは meth() 関数を呼び出します)
class Model extends CI_Model
{
var $return_this=array();
function meth()
{
$loop_id=0;
getit($loop_id);
var_dump($return_this);
}
function getit($loop_id)
{
$index=0;
$query = $this->db->query("select * from college where OfID=$loop_id ORDER BY `OfID` ASC;");
if ($query->num_rows() > 0)
{
foreach ($query->result() as $row)
{
$pass=$row->id;
$temp=getit($pass);
if($temp==0)
$return_this[$loop_id]= $query->result();
}
}
else return 0;
}
}