我正在尝试为基本控制器中的cat系统编写一个全局fn。 这里是基础内的fn
public function rec_cat($table,$col,$col_id,$rec_arr=array()) {
$ups=DB::table($table)->where($col,$col_id)->get();
foreach ($ups as $up) {
$rec_arr[]=$up;
$this->rec_cat($table,$col,$col_id,$rec_arr);
}
return $rec_arr;
}
当我尝试在我的控制器中调用此fn时
$select=$this->rec_cat('kategori','up_id','0');
return var_dump($select);
我收到此错误
Allowed memory size of 134217728 bytes exhausted (tried to allocate 196605 bytes)
错误中写入的字节小于允许的内存大小,因此我认为还有其他问题。
有什么建议吗?
答案 0 :(得分:0)
你的函数中有一个无限循环,它只是一遍又一遍地调用自己,直到你的内存不足为止。
我无法告诉您要做什么,但每次只使用相同的变量调用相同的函数。
您需要在每次递归调用时提供新变量..