Php 指定连接时laravel中的分页问题

Php 指定连接时laravel中的分页问题,php,laravel,pagination,Php,Laravel,Pagination,问题是它不起作用 为了澄清,如果我执行以下操作: $invoices = DB::connection(MY_CONNECTION)->table('invoice')->get(); $invoices = DB::connection(MY_CONNECTION)->table('invoice')->paginate(10); 然后将其传递到刀片视图,我可以这样输出: var pzFieldArray = {{ json_encode($invoices) }}

问题是它不起作用

为了澄清,如果我执行以下操作:

$invoices = DB::connection(MY_CONNECTION)->table('invoice')->get();
$invoices = DB::connection(MY_CONNECTION)->table('invoice')->paginate(10);
然后将其传递到刀片视图,我可以这样输出:

var pzFieldArray = {{ json_encode($invoices) }} 
这将以javascript生成一个数据数组。这告诉我连接工作正常

但是,如果我执行以下操作:

$invoices = DB::connection(MY_CONNECTION)->table('invoice')->get();
$invoices = DB::connection(MY_CONNECTION)->table('invoice')->paginate(10);
并将其传递到同一个视图,然后得到一个空的javascript数组


我的问题很简单:我做错了什么?

您可以将其与
paginate()
一起使用,它返回
illighte\Pagination\Paginator
的一个实例:

json_encode($invoices->toArray());
enter code here
此外,您只能传递数据数组,如下所示:

json_encode($invoices->toArray()['data']);
或者这个:

$invoices = $invoices->toArray();
json_encode($invoices['data']);
因此,只有数据(记录)将被
编码
,但其他属性在
json
中不可用,在这种情况下,您可能需要所有属性,如
tota
每页
等。例如
json
编码数据:

$user = User::paginate(5);
json_encode($user->toArray());
输出:

串 “{“总计”:10,“每页”:5,“当前页”:1,“最后一页”:2,“从”:1,“到”:5,“数据”:[{“id”:1,“名字”:“Sheikh”,“姓氏”:“Heera”,“用户名”:“Heera”,“电子邮件”:”heerasheikh@ymail.com“,”角色id“:1,“个人简历”:”Lorem 伊普苏姆·多洛尔·希特(ipsum dolor sit amet)、阿迪皮西奇(Concertetur Adipising Elite)和埃乌斯莫德(sed do eiusmod) 暂时性的劳动和财产损失是最小的 在实验室里,你可以在实验室里实习 电子商务 consequat.,“个人资料和图片”:http://blog.dev/images/user_1/profile_image/heera_new'... (长度=2618)

更新:好吧,也可以直接使用
toJson()
完成(我错过了):


Sheikh Heera是正确的,paginate本身不会完成任务。但是,有一个更简单的方法。我需要做的就是在paginate行中添加以下内容:

->toJson();
现在,整行内容如下:

$invoices = DB::connection(MY_CONNECTION)->table('invoice')->paginate(10)->toJson();
您可以简单地将其转换为javascript:

return Response::json($invoices);
这在您进行Ajax调用时有效,但如果您想将其包含在视图中,只需执行以下简单操作:

<script>
var pzFieldArray = {{ $invoices }}
</script>

var pzFieldArray={{$invoices}

您好,谢谢您的回答。事实证明有一种更简单的方法,我添加了一个答案来解释这一点。不过我已经+1了您的答案,因为它也很有效。哇!您做得更好,+1还更新了我的答案,以备将来参考:-)