00:00
这节课学习一下拉的分页啊,手册的地址在这里。在数据库里面啊。看一下简介。在其他的框架中,分页是非常痛苦的。但是将这个分页器啊,和这个查询构造器和。Orm模型结合起来提供了方便。应用的数据库结果啊,这个一个分页。通过分页器生成的啊htimel兼容BOOS库。在早期的啊,这个LA的版本,它是使用的这个波的一个分类的样式。但是现在啊,使用的是。一个新的一个框架。先看一下基本的用法。啊,数据的分页有多种方法,最简单的就是使用查询构造器和aquent que啊这个方法。这个分页的方法。使用这个方法。
01:00
可以根据用户当前浏览的页码,自动的设置一个合适的偏移量和限制的一个数量啊,默认情况下TP请求就是我们点那个分析者链接的时候,会传一个配置的这个查询参数。啊,就是当做当前的页码。然后拉也会自动检测这个值,并将它去放到啊,就是分页生成器生成链接当中。下面是一个例子,是生成。啊,这个分页的一个啊数量。嗯,这里我们去在首页这个地方进行测试吧。之前使用的是get查询啊,如果要使用分的话,就把最后的这个显示结果集的时候get或者哦换成这个方法。就可以了。来试一下。好,现在我们来打印一下这个block,看看它的这个结果是什么啊。
02:06
是不是一个。啊,菲儿的一个。这样的一个类,不是我们之前的一个集合了,是吧,它这里面item是包含了我们的一个数据集嘛,这几条博客。然后。啊,每页的数量15,总数是六,最后一页是是一嘛,啊,当前页也是一。还有其他的一些选项。我们如果不传这个分页的数量,它默认就是显示15条,这里我们可以传那个啊,就说每页显示多少条,比如我们每页显示两条。可以看到啊。每页显示两条,最后一页的页码是三,当前页是一对吧。啊,如果我们啊传了一个,比如说配件。等于二。是不是当前又变成了二,当然这个参数不用我们去手动传,它在生成的这个分页的链接中啊,就帮我们传了这个参数。
03:01
好,我们就先打印数据看一下。直接看手册。就是在。嗯,使用的时候呢。还可以使用这种简单的分页,就是使用这个C音炮。它呢就是只有上一页和下一页这种简单的链接,而我们的这个是比较完整的,有1234这种页码,包括还有上一页下一页啊。等会我们再看一下啊。Aloor fear。还可以对这个案例框的查询的结果进行分页。它的这个用法,其实之前在我们在讲模型的时候说过啊,我们的模型它就是一个强大的,更加强大的。啊,比这个查询工作器更加强大,它基本上就是可以使用查询工作器所有的一个方法,包括这个分页方法也是,啊,使用方法都是一样的,这里我们就使用的是一个模型,看到了吗?
04:00
啊。还可以在分裂之前加上一些其他的V2约束啊,从而限制分裂的一个数量。这里就是我们加上了一个VR条件。手动创建的这个我们就啊先不看了。然后我们在分完页之后怎么在。啊,这个视图里面去显示这个复印的一个结果呢,可以直接使用啊。我们这个分页的这个。啊,对象的这个另一个方法就可以给我们显出来这个分页了,来尝试一下啊。啊,当然它的这个分裂器的这个实力啊,它还是一个迭代器,所以我们可以像数组一样去啊循环,也就是说我们这里。在首页这里。还是进行一样的迭代就就可以啊,一样进行迭代就可以,只不过要分页的时候,我们原来这个分页就先不要了啊。先注释掉。
05:00
啊,要使用它飞二的话啊,直接使用。这个分页实例的link linkx方法就可以了,好,现在看一看我们首页的一个效果。然后这个滴滴没有删掉。看下面是不是有分呀。上一页,下一页。对吧。好,我们把这个页码写成一,这样的话它数量会多一些。啊。每页显示一条,然后这有这个,还有我们的这个数字,只不过样式为什么会乱呢?往下看大家就知道了啊。就是现在就是用户用的八点几的版本。他就是默认使用了这个啊这样的它的这个C框架,而我们的页面引入的是BOO stop的。这个C的样式是吧。所以说怎么去改成玻P呢,往下找下面有一个。
06:04
嗯,修改成。我们不的一个方式。哎,这里啊,就是去这个。APP里面去设置一下这个分页类的一个使用的一个视图。我去修改一下。在APP里面provide APP service里面,在这个里面去啊。将这个分页。默认视图。修改为。刷吧。啊,使用它就可以,但这里是。你复制过来的代码一定要注意,就是相关的这个命名空间有没有引入啊。能赢一下他啊。就是这个。
07:03
那这时候再去首页看一下。是不是样式就对了,对吧,这是我们。因为我们整个页面就是用的布法布去写的嘛。就是关于这里啊,接着我们回到头里重新看啊。在页面中显示。啊,使用这个link。接着往下看。附加参数到分页的链接。我们来现在看一看,现在去点这个链,这个分页,这个链接是不是只有它默认的一个配件,我们如果想附加其他的参数,可以使用什么啊。为什么会用到附加参数呢?比如我们在做一些搜索的时候,搜索完之后,我们搜索的结果集啊,是要带上这个搜索条件,再去进行其他的链接的一个分页的话,这样的话我们的搜索集不会变。清楚吧,所以有时候要带上一些这个参数啊,比如我们是按照这个那。
08:05
标题进行速度的搜索,出来是六条,如果它的扉页没有带这个我们搜索的那个关键字。是不是你一点分,它就相当于啊,把我们的搜索条件给取消了,所以有时候要像这个链接里面去附加一些额外的参数。啊,大多都是用在这个搜索的一个情况下。使用。啊,这个方法。啊,追加一个参数,比如说这个排序的一个字段,这个时候我们去刷新看一看。好,当然现在是没有的,我们刷新的页面,但是这个链接里面就已经有了。是不是带来一个啊这样的一个字段啊,你点哪个点都会带。这个就是。追加额外的一个参数啊,附加额外的参数。如果啊想把所有的查询参数值添加到分析链接,可以使用with query,这个我们在做搜索的时候就会用到。
09:01
啊,因为比如我们的搜索条件啊,不是几条,是有十几条对吧,或者有啊二三十个这样搜索条件,你这样一条一条最佳都费事,所以可以使用这个最大所有的搜索条件到这个费用点里面。这个是调整分页链接。啊,窗口它是调整的什么呢?是。嗯,就是。我们这个当前页它两边的一个数量啊,那现在数量太少看不出来。这个要测试的话,还要去加一些数据啊,你加一些数据去自己去测一下就行了,我就不显示了啊,它这个是显示什么呢?就是每一次显示多少个附加链接。知道吧,他说的这个每一次。就是我们的当前所在的这个页这两边。啊,如果你设置的是。啊。几的话,它就会两边显示几个,我看看我们现在数据比较少,能不能显示啊。
10:05
在这个index里面。复制一下这个方法,这个参数我们先注释掉。我们改成二。嗯,数据量太少,显示不出来。当数据比较多的时候就会出现啊。还可以将啊结果转为杰森。就是调这个图阶层方法就可以了啊。就准备这个分页。啊,这个结果的。一个分页。实例调这个图杰森就转换成杰森了,看一下啊,有时候你如果你要用到这种啊,杰森的这种的话是。比较好用的这个方法。
11:00
看是不是一个角色呢。这里把打印关掉,把节省也删掉啊。好,自定义分页视图。默认情况下渲染的视图啊,它是使用啊这个框架,当然我们通过呃修改。这个APP去修改成了默认成使用。对吧,但是还会有一种什么情况呢,就是我们这个页面啊。没有使用任何框架,可能就是原生的C来写的,或者使用了啊,这个拉不支持的啊,这个其他的前端框架去写的怎么办。对吧,这时候可以去啊,自己去定义一个分险的一个视图。呃,就是说在我们调用这个分页的时候呢,指定这个视图的这个名字,但是如果你指定这个名字呢,你要再去这个文件里面去写这个分页的一个内容。啊是要写的比较多的,最简单的方式就是使用这个命令,将它原来的分页的一些文件,就是视图文件给我们输出到啊resource目录。
12:08
知道吧,因为他原来的是在哪呢?原来的是在。这个目录。知道吧,原来是在window目录已经强调过很多次了,不要在window目录里面去改任何东西,因为这个window目录它不会去进这个版本库,而且你重新执行composer啊,这个in的时候。啊,有时候会根据这个comp里面接的版本,会甚至会重新去下载这个window里面目录的这些组件的版本。啊,所以不要去在这个word里面写代码。哪怕我们真的是需要里面的东西,它有的组件,你像这个分页器的一个组件,它就会提供啊一个啊。发布的一个。功能就是将分页原来的默认的一些视图文件去发布到我们的resource目录下啊,我们resource目录是可以进版本库的。接着我们来尝试一下这个命令啊。
13:02
复制一下这个命令。粘贴,当我执行这个命令的时候,它是执行了一个window这个发布,发布的谁呢?是拉到这个啊,分页相关的一个内容,它会在我们的view目录下去多一个window目录,然后里面有我们的分页相关的一些指示图,看一下。好,已经发布成功啊,现在你要刷新一下这个目录才有啊,是不是做了一个window目录对吧,里面有一个啊分页的这个目录,然后是。分页的一些相关的。啊,视图文件对吧,它默认使用的是啊这个嘛。然后我们是把它改成了使用boot这种风格的嘛,对吧。如果我们想要自定义自己的分页怎么办呢?最简单方式就是发布完之后我们去。啊。复制一份啊。复制一份去改成自己的。啊,然后用的时候呢,在我们的index里面去传上这个分页的名字就可以了。
14:04
啊,这个我们在。讲完分卷之后做练习的时候会进行,嗯,实战。这样的话就是说你还要每个页面用到分页的地方都要传一遍这个。传一遍这个你的这个文件对不对,当然可以有一个参数去。啊,这个里面去配置啊。配置默认的一个使用的分页的一个视图。也是在这个APP里面去配置啊。对着他。啊,这个刚才说过了,像这些我们在做实战的时候再进行演示。这里面是分页器这个实例提供的一些方法。比如。获取页数的这个数据的数量啊,当前页的这个数据的数量知道吧。啊,包括比如说当前页的页码,还有这个结构机第一条数据的编号啊,所有所有可用的都在这里啊。
15:05
包括这个title总数啊。已经完成了,接着看看我们的鼠标的一个效果。是不是一条显得不太好看,把数量稍微调整一下啊?调整成两条。然后刷新一下页面。啊,为什么没有数据呢?是因为这个页是之前我们测试一条的时候是点到了第四页,但是现在实际上第四页是没有数据的。所以我们把这些都删掉啊,重新请求我们的首页。这样的一个分类数据就有了,当你点这个DJ的时候都是可以用的啊。它就自动给我们带上了这个页码。现在还有问题,你看这个文章的数量没有,我们文章的总数量应该是六对吧,它这里是二。啊,因为。这里。使用了这个分页这个实例的一个count,对吧,我们知道这个分页实例的一个count的话,它是显示当前页的一个数量。
16:07
知道吧,我们要显示总数怎么办?总数要使用这个操作方法。对不对,使用数据这个显示数据的总数。把这个改了。好,这样再来看。哎,数据就对了,包括我们的也都好使了。
我来说两句