Laravel 5.5 LengthAwarePaginator一旦传递给视图,便会转换为一个集合

时间:2018-08-17 08:05:39

标签: php laravel laravel-blade

我使用laravel v 5.5 我有以下方法

public function AllNotification ()
{
    $data[ 'notifications' ] = Notification::ThisUser ()->latest ()->paginate ( 10 );
    return view ('Notifications.allNotifications',$data);
}

,如果我dd($data); 这是结果

dd resukt

当我显示视图并打印{{dd($notifications)}}的内容时 这就是所显示的内容,$notifications->links()就此消失了

view dd of notifications

不确定所有其他方法正在发生的事情,

1 个答案:

答案 0 :(得分:0)

如果您想在视图中对标准Laravel集合进行分页,则可以将此宏代码添加到AppServiceProvider函数中的boot()类中:

    /**
     * Paginate a standard Laravel Collection.
     *
     * @param int $perPage
     * @param int $total
     * @param int $page
     * @param string $pageName
     * @return array
     */
    Collection::macro('paginate', function($perPage, $total = null, $page = null, $pageName = 'page') {
        $page = $page ?: LengthAwarePaginator::resolveCurrentPage($pageName);
        return new LengthAwarePaginator(
            $this->forPage($page, $perPage),
            $total ?: $this->count(),
            $perPage,
            $page,
            [
                'path'     => LengthAwarePaginator::resolveCurrentPath(),
                'pageName' => $pageName
            ]
        );
    });