1 सवाल: एक अलग ब्लेड में क्वेरी के परिणाम दिखाएं

पर बनाया गया सवाल Wed, May 8, 2019 12:00 AM

मूल रूप से मैंने एक मोडल में परिणाम दिखाने की कोशिश की, लेकिन परिणाम को एक अलग ब्लेड में दिखाने के लिए इसे बदल दें। मैं अपनी पोस्ट_ड का उपयोग करके किसी पोस्ट पर की गई सभी टिप्पणियों को पुनः प्राप्त करना चाहता हूं। लेकिन मुझे निम्नलिखित त्रुटि मिल रही है: इस मार्ग के लिए GET विधि समर्थित नहीं है। समर्थित विधियाँ: POST।

वह ब्लेड जहां से मुझे सभी टिप्पणियां क्लिक करने के बाद मेरा पोस्ट_ड मिल रहा है:

<section class="row posts">
        <div class="col-md-6 col-md-3-offset">
            <header><h3>other posts</h3></header>
            @foreach($posts as $post)
            <article class="post">
                <p>{{ $post->content }}</p>
                <div class="info">Posted by {{ $post->user->username }} on {{ $post->created_at }}</div>
                <div class="interaction">
                    <a href="#" class="like" id="like" data-postid="{{ $post->id }}">{{ Auth::user()->likes()->where('post_id', $post->id)->first() ? 'Liked' : 'Like' }}</a> |
                    <a href="#" class="comment" id="comment" data-postid="{{ $post->id }}">Comment</a> |
                    <a href="{{ route('show.comments',['post_id' => $post->id]) }}" class="allcomments" id="allcomments" data-postid="{{ $post->id }}">All Comments</a>
                    @if(Auth::user() == $post->user)
                        |
                        <a href="#" class="edit" data-postid="{{ $post->id }}">Edit</a> |
                        <a href="{{ route('post.delete',['post_id' => $post->id]) }}">Delete</a>
                    @endif
                </div>
            </article>
            @endforeach
        </div>
    </section>

मार्ग:

Route::middleware(['web'])->group(function()
{
Route::post('/showcomment/{post_id}',[
        'uses' => 'CommentController@getComments',
        'as' => 'show.comments',
        'middleware' => 'auth'
    ]);
}

नियंत्रक:

public function getComment($post_id)
    {
        $comments = Comment::where('post_id',$post_id)->orderBy('created_at','desc')->get();
        return view('showcomments',['comments' => $comments]);
    }

वह ब्लेड जहां मैं परिणाम का उत्पादन करना चाहता हूं:

@extends('layouts.master')

@section('content')
    <section class="row posts">
        <div class="col-md-6 col-md-3-offset">
            <header><h3>other Comments</h3></header>
            @foreach($comments as $comment)
                <article class="comment">
                    <p>{{ $comment->body }}</p>
                    <div class="info">Made by {{ $comment->user->username }} on {{ $comment->created_at }}</div>
                    <div class="interaction">
                        @if(Auth::user() == $comment->user)
                            |
                            <a href="#" class="edit" data-commentid="{{ $comment->id }}">Edit</a> |
                            <!--copy delete from post here including the modal-->
                        @endif
                    </div>
                </article>
            @endforeach
        </div>
    </section>
@endsection
    
0
  1. क्या आप dd($comments) देख सकते हैं कि क्या आपको डेटा मिल रहा है?
    2019-05-08 16: 06: 46Z
  2. आपके विचार के लिए, return View::make('commentboard')->with('comments', $comments); और अपने मार्ग के लिए प्रयास करें: Route::get('/commentboard', 'CommentController@getComment')->name('commentboard');
    2019-05-08 16: 09: 05Z
  3. @ अमर्त्यबरुआ, आप रूट पैरामीटर का उपयोग करके अपने व्यूअर से अपने कंट्रोलर को पोस्टिड पास कर सकते हैं।
    2019-05-08 17: 41: 39Z
  4. @ अमर्त्यबरुआ क्या यह अब काम कर रहा है?
    2019-05-08 19: 31: 44Z
  5. मैं जो प्राप्त कर रहा हूं, वह वास्तव में समर्थित नहीं है, जैसे त्रुटि बताता है, आपके मार्ग पोस्ट अनुरोध के लिए
    2019-05-08 19: 44: 28Z
    1 उत्तर                              1                         

    मूल रूप से, यह मेरा दृष्टिकोण होगा:

    Route::get("/posts/{post_id}/comments", "PostsController@getComments");
    

    नियंत्रक:

    // get comments...
    public function getComments ($postId) {
        $comments = Post::findOrFail($postId)->comments;
    
       return view('showcomments',['comments' => $comments];
    }
    

    उपरोक्त कार्य करने के लिए: आपको पहले से ही पोस्ट मॉडल में इस मामले में पोस्ट टिप्पणी संबंध परिभाषित करना चाहिए:

    // Post Model: a post has many comments
    
    public function comments () {
       return $this->hasMany(Comments::class, 'post_id');
    }
    
        
    0
    2019-05-08 19: 50: 37Z
स्रोत रखा गया यहाँ