これは私のテーブルNewTheme_Commentです:スレッドコメント、PHP、laravel
id
parent_id
id_theme
user
text
upVotes
downVotes
そして、これは私のコントローラである:
class Comments extends Controller {
public function GenerateComments($id){
$Comments = NewTheme_Comment::where('id_theme', $id)->paginate(5);
return view('comments', ['Comments'=>$Comments]);
}
Idをは(一般的なポストへのリンクです各投稿はコメントの異なるセクションを持つため)、ユーザのクリックで動的に、ユーザはコメントの( 'comments view')セクションにリダイレクトされます。
私は配列を持っていますコメントテーブルNewTheme_Commentの値が入力されていますが、私の問題は値を使ってスレッド化されたコメントセクションを作成する方法です。
@foreach ($Comments as $Comment) {{-- Comments threads --}}
<div class="media">
<div class="media-left">
</div>
<div class="media-body">
<p class="media-heading">{{ $Comment->text }}</p>
<p class="media-heading">{{ $Comment->user }}/{{ $Comment->created_at }} </p>
</div>
</div>
@endforeach {{-- Comments threads --}}
最終結果:ので、私のビューのよう
は、(問題は、これは私が探していますことを、すべてのPARENT_IDではありません0に等しいようなどのコメントセクションを作ることです:
0
1
2
3
2
1
1
0
1
0
私の考えでは(PARENT_IDを持つ)のようなコメントをすることです:
0
1
2
3
2
1
1
0
1
0
しかし、私は論理的にこのことを行う正しい方法を見つけることができないので、最終的には(スレッドのコメント部分のように)私の小さなWebアプリケーションのためにredditが使用するものと同じに見えるようになります。
私のアプローチが悪い場合は、これを解決するための他のより良い方法を高く評価します。
* parent_id *でグループ化することができます。そして、それらは正しく構造化され、ネストされたものを出力できます。 – TheFallen
so(0,1,1,2,2,2,2/0,1,1,2,2,2)のようにparent_idでグループ化する方法コメントツリーの最初のブランチと2番目のブランチ(2シングルスレッドコメント)? – DomainFlag