Разбиение на страницы - вызов неопределенного метода :: ссылки - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь разбить на страницы данные, возвращаемые из модели.

Но продолжаю получать сообщение об ошибке:

Вызов неопределенного метода App \ Shortlist :: links ()

Это в моей модели Shortlist, и код, который я использую, paginate (Controller) ...

 public function shortlist()
    {
        $view_data = array
        (
            'shortlist' => Shortlist::where('user_id', $this->user_id)->with('property')->orderBy('created_at', 'desc')->paginate(4)
        );

        $view = 'frontend.'.themeOptions().'.account.shortlist';

        // Change View Per Template...
        if(view()->exists($view))
        {
            // Shared View in the Templates...
            return view($view,  $view_data);
        }
        else
        {
            // Load Shared View...
            return view('frontend.shared.account.shortlist', $view_data);
        }
    }

Затем, на мой взгляд, я использую:

{{ $shortlist->links() }}

Но продолжайте получать эту ошибку, есть какая-нибудь помощь в том, почему?

Спасибо

1 Ответ

1 голос
/ 23 сентября 2019

$shortlist не определено, вам нужно вернуть эту коллекцию в ваше представление.

Вы можете вызвать ->links() для коллекции.$view_data это просто массив, вы хотите получить доступ к коллекции shortlist в этом массиве, поэтому вам нужно назвать его следующим образом:

{{ $view_data['shortlist']->links() }}

Далее, почему вы создаете эту переменную:

$view_data = array ( 'shortlist' => Shortlist::where('user_id', $this->user_id)->with('property')->orderBy('created_at', 'desc')->paginate(4) );

, если вы не используете его.Если вы не используете его, я просто объявил бы это так:

$shortlist = Shortlist::where('user_id', $this->user_id)->with('property')->orderBy('created_at', 'desc')->paginate(4);

и вернул бы это на ваш взгляд, выглядит чище.

...