《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
高认可度评论:
我们可以通过laravel的Api文档看到paginate的Api参数如下
如果你想动态传输当前page,可以通过第四个参数来实现
例如想要第10页数据
至于为什么默认情况下,当前页通过HTTP请求查询字符串参数?page的值判断。下面的可以做一下参考
执行Eloquent的paginate方法时
留意到
$page = $page ?: Paginator::resolveCurrentPage($pageName);
其中
resolveCurrentPage
方法时继承于Illuminate/Pagination/AbstractPaginator.php看到这里你会发现当前页码取决于
static::$currentPageResolver
如果不存在就返回默认1然而这个抽象类以及子类中并没有定义
static::$currentPageResolver
,那laravel为什么默认情况下,当前页能通过HTTP请求查询字符串参数?page
的值判断呢?别急,看laravel的代码看ServiceProvider
很重要。我们可以发现在Illuminate/Pagination/PaginationServiceProvider.php中
对的你没看错在
PaginationServiceProvider
分页这个服务提供者中注册了这个方法的闭包通过
request
服务取到路径中的$pageName
也就是默认的page
,然后判断一下是否是int型且大于等于1,是就返回$page
值,否则就是默认的1没错laravel就是这么神奇
That's all
Enjoy
我们可以通过laravel的Api文档看到paginate的Api参数如下
如果你想动态传输当前page,可以通过第四个参数来实现
例如想要第10页数据
至于为什么默认情况下,当前页通过HTTP请求查询字符串参数?page的值判断。下面的可以做一下参考
执行Eloquent的paginate方法时
留意到
$page = $page ?: Paginator::resolveCurrentPage($pageName);
其中
resolveCurrentPage
方法时继承于Illuminate/Pagination/AbstractPaginator.php看到这里你会发现当前页码取决于
static::$currentPageResolver
如果不存在就返回默认1然而这个抽象类以及子类中并没有定义
static::$currentPageResolver
,那laravel为什么默认情况下,当前页能通过HTTP请求查询字符串参数?page
的值判断呢?别急,看laravel的代码看ServiceProvider
很重要。我们可以发现在Illuminate/Pagination/PaginationServiceProvider.php中
对的你没看错在
PaginationServiceProvider
分页这个服务提供者中注册了这个方法的闭包通过
request
服务取到路径中的$pageName
也就是默认的page
,然后判断一下是否是int型且大于等于1,是就返回$page
值,否则就是默认的1没错laravel就是这么神奇
That's all
Enjoy
@milkmeowo 很详细
@milkmeowo 你应该单独开个帖子。。。我看到标题时一脸懵逼。。。为什么会被加精呢,,,原来是你的回复
@xhh110 我只是顺手回复而已,写文章什么的之前试过,写出来之后别人理解不能,就没继续了
@milkmeowo 写的很好。。很详细
@milkmeowo 我像你这样说的传了这个参数进去,会报这样的错误的
Type error: Argument 1 passed to Illuminate\Database\Grammar::columnize() must be of the type array, float given, called in /var/www/enclaveapp/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php on line 121
下面是我的分页代码
$comments = Comment::where(['source_id' => $request->source_id, 'type' => $request->type])->orderBy('id', 'desc')->paginate($count,$currentPage);
@milkmeowo 我像你这样说的传了这个参数进去,会报这样的错误的
下面是我的分页代码
@ChenPHPER 来我们学一下数学
$perPage = 15;
$count
$columns = ['*'];
$currentPage
$pageName = 'page';
$currentPage = 10;
所以你应该
@xhh110 看,怎么说来着,写出来之后别人还是理解不能,所以
@milkmeowo 好啦,是我大意了,谢谢你啦,方便给你qq或者微信我吗?发个红包给你,表示表示,以后有问题还可以请假一下你啦
@milkmeowo 其实昨天我也去看过这个了,也是刚才那问题,然后就认为不行,是我太不仔细了
@milkmeowo 说的好
回答的好完美 ?
```
赞,解释的到位