kvlknctk's avatar

Eloquent with pagination / count relationship table

my model like this

public function mostAnswer()
    {
        $quests = Questin::with("question", "answer")
            ->get()
            ->sortBy(function ($banswer) {
                return $banswer->answer();
            })->reverse()
            ->take(10);
        return view('homepage', ['quests' => $quests]);
    }

its working but i try pagination() then error. i know, its bad choise. i want to show most answers posts with pagination. I do not know how to do it.

example : https://laracasts.com/discuss?popular=1&page=2

thanks for answers.

0 likes
2 replies
kvlknctk's avatar

it did not work. but i tried this;

public function mostAnswer()
    {
        $quests = Questin::with("question", "answer")
            ->pagination(10);        
    return view('homepage', ['quests' => $quests]);
    }

its works. i need most popular answers. i tried it in..

public function mostAnswer()
    {
        $quests = Questin::with("question", "answer")
            ->pagination()
            ->sortBy(function ($banswer) {
                return $banswer->answer->count();
            }, , SORT_REGULAR, true)
            ->take(10);
        return view('homepage', ['quests' => $quests]);
    }

doesn't work.

Please or to participate in this conversation.