私はコードグナイターが初めてです。次のコードを使用して、関数を再帰的に実行しました。
最初の呼び出しでreply_idを渡し、関数でクエリを使用して
parent_id = reply_idを持つIDを選択し、foreachで選択したすべてのIDに対して同じプロセスを実行します。
今、私はすべての再帰の結合配列を返したいと思っています.idごとにクエリが実行され、毎回新しい結果が得られるためです.
どうやってやるの??
$resultq3 = $this->showreply($reply_id); //first call to function
<?php
public function showreply( $reply_id ) {
$q1 =$this->db->select('*')
->from('forum_reply AS fr')
->where('fr.parent_id',$reply_id)
->order_by('fr.id ')->get();;
foreach( $q1->result_array() as $row4 ) {
$id = $row4['id'];
$parent_id = $row4['parent_id'];
if( $parent_id !=0 ) {
$this->showreply( $id );
}
}
return $result; //here want to return result
}
?>
編集されたコード:
$resultq3 = $this->showreply($reply_id); //first call to function
<?php
public function showreply( $reply_id ) {
$q1 =$this->db->select('*')
->from('forum_reply AS fr')
->where('fr.parent_id',$reply_id)
->order_by('fr.id ')->get();;
foreach( $q1->result_array() as $row4 ) {
$arr1 = $q1->result_array();
$arr = array_merge($arr, $arr1);
$id = $row4['id'];
$parent_id = $row4['parent_id'];
if(!empty($arr1)) {
$this->showreply( $id );
}
}
return $arr;
}
?>