分页-调用未定义的方法:: links

时间:2019-09-23 11:57:25

标签: php laravel pagination

我正在尝试对从模型返回的数据进行分页。

但是不断出现错误:

  

调用未定义的方法App \ Shortlist :: links()

它在我的候选清单模型上,我正在使用的分页代码是(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 个答案:

答案 0 :(得分:1)

$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);

并返回到您的视图,看起来更干净。