は、私は、コントローラを持って存在しません:はLaravel、方法は、[...]
class Comments extends Controller
{
public function GenerateComments($id)
{
$theme = DB::table('New_Themes')
->where('id', $id)
->get();
$Comments = NewTheme_Comment::where('id_theme', $id)->get();
$array = $this->tree($Comments);
function tree($Comments, $parent_id = 0, $level=0, $c=0)
{
global $var;
global $array;
global $m;
foreach($Comments as $Comment)
{
if ($Comment['parent_id'] == $parent_id) {
$m++;
$array[$m][0]=$Comment['id'];
If ($level > $var) {$var++; $array[$m][1]=0;} else {
if ($c < 0) $array[$m][1]=$var-$level+1; else {$c--; $array[$m][1]=0;};
$var=$level;
};
tree($Comments, $Comment['id'], $level+1,$c);
}
};
return $this->$array;
};
return view('comments', ['Themes'=> $theme, 'Comments'=> $Comments, 'Array' => $array]);
}
問題は存在しません
方法[木]です。
それが表示されますなぜ私は
$array = $this->tree($Comments);
function tree($Comments, $parent_id = 0, $level=0, $c=0)
{
return $this->$array;
}
(以下そのように)関数内で関数を呼び出していた場合、私は、理解していない、これが機能しない理由の任意のアイデアはありますか?
私はtree'が方法ではありません '賭け - ' $ this'クラスのメソッド。これは関数です - 無名関数です。 – Chay22
どうすればいいですか、私はこれらの両方を試しました:$ array = $ this-> tree($ Comments); $ array = tree($コメント); – DomainFlag
匿名関数のようなものです。この種のものを初めて使用しています。 – DomainFlag