00:01
好,刚刚呢,我们来写了两个结构,还有两张表,那下面呢,我们就来这个写对应的这个对数据操作的一些函数。那我们在这创建好之后呢,肯定我要添加图书呢,也需要有这个购物车,需要往数据库里边来插入购物车,当然了,购物车里边包含购物项,也需要插入购物项,那肯定得有一个添加的方法,哎,添加的函数,所以呢,哎来。我们在这里边啊,在第一这块呢,来右键我们来用一个,比如叫一个cut itto。一个Du,点一个go。看好pack。好诶里边呢,我们来先来写一个第一个这个保存订单项就是插入呃,插入购物项,插入购物项的,因为我们这里边呢,有个购物呃,购物这个呃,购物项的这个表,将来呢,我这个呃。点这个加入购物车,肯定要有购物项,某一本书要插入到这里边,所以呢,我们来写一个它。
01:02
Bank加一个ad加一个cut aem,那这里边传的参数。应该都能想到吧,对吧。这不传一个cut艾特么?ADD at,我们把这个注释写一下啊。像这个。勾下。表中什么呢?哎,插入。不下。好,哎,里边呢,传一个勾物象,Cut一个item。Model点一个cut。好,就是这个,嗯,同样,哎,来,我们来写这个S语句。
02:03
你们这个这已经写了好多好多次了啊,这些个嗯,即使呢,不让你什么呢,呃背他估计你也记住了对吧,等于诶写SQ句,所以呢,这个你们之前讲的买搜Q里边那些基本的搜Q语句,你增添奶茶的SQ句,你肯定要必须要会啊,必须要会,其他的你像这些我们现在还没有涉及到什么,查多个表,其实我们也可以通过查多个表来实现,哎,我们还没有涉及到那个,比如什么呢啊,Left of join啊等等啊,连表查询啊等等这些东西啊,我们都没有涉及到啊,没有涉及到就是最最基础的那些增产改的搜狗具,所以这些呢,你这个如果你现在这些呢,还没有掌握住啊,你把抽时间把你们之前讲的那些买搜狗里边的那些这个搜狗句,但是创建表这个命令呢,你可以不记啊,因为我们可以这个什么呢,通过如果命令忘的话,你可以通过这个图形化界面的方式,你这个右键也可以来创建啊,也可以创建好,但是这个呢,你必须得自己写了insert into,诶叫一个cut。
03:03
下划线,嗯,好。哎,这里边呢,我们来指定一下这个字段,诶第一个呢是ID,第二个是count ID呢是自增的,所以呢,我们就不需要指定了,Count about book的ID,还有这个购物车的一个ID,所以呢,哎,来里边是一个count。Amount。Book。ID还有一个cut。ID,购物车的一个ID好,然后呢,Value。问号,逗号。问号逗号问号逗号问号逗号问号好就是这个circle,口一句那有了它,哎下面呢,我们来,哎这个执行这个circle。点一个DB点一个。好,哎,里边呢,穿一下我们的circle,穿一下我们的circle。
04:08
Circle s tr好,哎第二个,第二个呢,是我们这个count,所以呢,又得从这个cut item里边点一个count,点个count好哎,这个数量好,注意传第二个的时候,Amount的时候。我们的amount获取的时候,我们cut里边是不是写了一个获取amount的方法?对吧,所以就是说啊,有了突出的将来呢,我们有了这个cut的这个结构实例之后,哎,里边有了book之后,我是不是among直接一调它就就就可以了,对吧?哎直接一调它就行了啊直接调它就行了,所以这里边这个呢,Amount默认的。我们可以在这直接调那个方法也行,或者你直接传那个amount也行,等后期呢,我们这一个处理也可以啊,处理也可以,或者呢,在这里边传的时候呢,你直接哎,就调它里边这个方法也可以,比如这样。点一个,哎,Count这个怎么丢了,第二个是一个什么呢?Cut item,点一个get amount,这样哎把那个值拿到也是可以的啊,也是可以的,然后哎再往下,再往下呢,是我们这个book ID book ID,所以呢是cut item点一个。
05:19
Book点一个。ID,哎,这是一个ID,好,这是第三个张位福,第四个是我的购物车的ID卡item点了一个。Cut ID好,哎,这是四个赵位符啊,四个占位符,第一个呢是我突出的数量,第二个是我这个金额的一个小G金额的一个小记,哎,我有了它之后呢,哎,我调这个get amount,诶那这个前提你这个cut这个这这个呃实例啊cut item购物项这个实例里边呢,必须得有这个count,一个得有count,还有有那个book我才能得到这个amount,好,然后诶我们看一下这个返回值啊,这是这个一个result,还有一个error。
06:03
下划线。等于好。下面呢,来写一个判断。不等于。122好。啊,最后呢,给确认一下。牛保存好,哎,这是这个啊,像购物像。表中插入购物项这一个方法,哎,这个函数呢,我们写完了,好,下面呢,哎,我们还得有一个,这只是插入这一个一个的购物项,哎,我们还得有这个购物车,将来呢,你肯定得往这里边插入个购物车,诶购物箱里边到底一共有多少本图书,一共花了多少钱,这个购物车属于哪个用户?所以呢,哎,我们还得诶来写一个它,那这个呢,里边呢就比较复杂了啊,新建一个文件叫一个cut。点一个够。
07:00
好,来package。来,先写注释吧,ADD一个cut。像这个。购物车。表中添加插入。购物车的这个数据。加入购物车吧,好,放开。Ad。里面呢,Cut cut。Model。第二一个cut好。好。那像这个里边呢,也插入这一个,哎,插入这个购物车,插入购物车好,诶在这呢,我们来写这个四口语句。
08:03
Circle s tr等于好insert。Into insert into。来看一下我们这张表,购物车表ID这个不是自增的了,哎,Total count的这些呢,都不是自增的,哎,都不是自增的ID total count total猫还有U的ID,好,我们就把都把它指定出来吧。图什么呢?Cut cut这个表第一个是ID,第二个是total count,第三个是total amount。第四个是user的一个ID,就这四个啊,这四个这四个字段,一个是ID,这个不是我们自己整一个字符串啊,头头count,头头还有U的ID,好,那下面呢,诶来继续Y。Y6括号,嗯,Y64里边这个里边呢是这个。几个号啊,124个也是四个。
09:04
好四个问号下面呢,同样,诶,我们来这个执行这个4Q。Youus点一个,DB点一个。嗯。好色扣一句。下班我们先。卡里边儿。点一个cut ID。卡特。点一个。Total count总数量,点了一个total amount总金额。Cut。点一个。User ID,好,就是这个啊,就这个。好,来返回值。等于好,就是这个。
10:03
好,最后呢,这一块,哎,写一个判断if。不等于六。Return。好。最后这一块呢,我们来维持一下。牛。对,挨着啊,挨着这块写错了啊,挨着122好在这啊,注意我们还可以干什么呢?因为你在保存这一个购物车的时候,你往这个数据库里边插入购物车的时候,这个购物车里边,比如这个总数量到底有几个购物项,你可以在这里边呢,调一下我们刚刚写的这个卡item里边是不是那个函数啊。对吧,可以调一下那个啊,可以调一下那个,哎,什么意思呢,我们可以,哎在可以写到这里边干什么呢?我来获取。获取购物车中。
11:00
的这个所有购物项来cut。IT4等于cut点一个cut it4这能看懂吗?又写到这了啊写到这了,然后获取这个勾项之后呢,下边我是不是该变利了呀。便利。便利得到每一个。勾物项来。V。卡。等于ready。Cut it4,好得到一个一个的购物箱,好得到一个一个的购物箱之后,下面我是不是该保存购物箱了?对吧,哎,保存购物项就是将购物项。什么呢?诶插入到数据库中,也就是诶我在这个保存插入购物车的时候,同时把购物车里边,比如这个总数量,诶给它也插入到这个对应的这个购物项这个表里边,哎,所以啊在这块,所以呢,我们在这调的是这个A的一个cut atem把这个卡能不能给它。
12:15
传过去,传过去。卡好保存好,诶这是这个啊,我们这个在保存这个购物车的时候呢,顺便把所有的购物项也给它插入到这个数据库里边了,好啊,这是这几个,呃,保存购物车跟这个保存购物项的这两个函数我们写完了,下面呢我们来测试一下。Du,我们还找我们那个user test Du test。哎哎,再来写一个,我们把这个test session呢给它注掉,哎,不用它了,不用它了,我们再来写一个啊。叫test一个cut,好来写到下边了。Fuck。Test一个cut。
13:00
星。Hasin。点T。好,来这块。什么fmt点一个print。我们的测试。购物车的这个相关函数。来下面呢,我们来用这个T点一个软。则是添加购物车。逗号。And cut。来创建这个子函数。G。星testing.d。
14:01
好。我们在这里边呢,哎,需要调这个,嗯,Cut。里边这一个ADD cut这个方法啊,所以呢,我们这里边啊,需要有这个cut,需要创建一个cut,那这个cut里边呢,我们这个时候呢,得看一下这个cut里边需要什么啊,因为我们现在测试这些东西呢,都得我们自己写字啊,自己写字看它里边有ID,还有这个所有的一个购物项,还有这个总数量跟总金额,还有一个优的ID,所以呢,这里边需要的我们得先提供好,得先提供好,那是还有哎这个卡的item里边是不是还得有book。对吧,还得有不可思议啊,我们这个测试呢,需要用到的需要提供的数据非常多啊,所以呢,我们现在啊,假设要买两本书,哎,来我们得先整两个书啊,整两个书。看来。嗯。什么呢?设置要这个买的第一本书。哎,我们想买哪一本啊,我们去数据库里边找一个啊,找一个有的box。
15:02
嗯。都可以啊,都可以,就一和二吧啊,就一和二吧,就这样了。来,Book。对对。你这个测试嘛,你都得把这个自己创建出来,按一个model,点一个book。保存。好,那这里边呢,哎,我们这个就要一个ID就行了,因为我插入到数据库里边呢,就一个ID,就一个ID,所以呢,我们就指定这个ID就可以了ID。我们一,哎,这是第一本书啊,第一本书好,来来复制一个。甚至要买的第二本书,我们买两本啊,买两本。最后呢,看能不能在数据库里边把这两本书的信息呢,给它插入进去啊,这是第二本,第二本好。好,这是第二个突出。补个二,补个二好,那下面呢,我们需要来创建这个购物项,这一本图书,哎,一本一本图书是不是就。
16:03
最终呢,会变成我购物车里边的一个一个的购物下。对吧,诶你买个它,诶将来呢,我这个购物车这里边呢,会有一个第一第一本书的信息,还有个第二本图的信息,所以呢,哎这块啊,诶下面呢,来创建这个购物项,哎,创建这个购物项。创建什么呢?哎,两个购物项,哎两两本书嘛,就是两个不同的一个,哎哎勾物项了啊,不同的勾物项,这是第二本啊,这是第二本。这里边为什么我就设定了一个ID,因为我这个表里边购物项里边是不是就保存了你这个不客的ID啊,所以啊,其他的信息呢,没用啊,对我来这个超试库里边没用啊,所以呢,我就整了一个这个book ID啊book ID好,那在这里边我来创建两个购物项看it。等于。Model点一个cut a,好诶这里边。第一个来看,第一个呢,是我的这个cut item ID就是自增的,诶这个自增的不用设置,不用管它,第二个是book,那是不是得把这两个book设置进去了。
17:08
Book,诶能看懂吗?这个啊,把这个book设置进去了,好那现在呢,哎,你就得决定你这个book呢,第一本书ID等于一的这本书你到底想买几几个就想买几本,是不是又有有count了,对吧?哎就有这个count啊就这个count了,好诶那现在呢,哎就有count,我们就整成一个,比如买他两本,哎买他两本二。啊二因为我们现在是测试啊,其实这个图书里边的这些什么价格还是没有的,对吧,还是没有的,所以呢,在这块啊,我就写死了,下边这个其实应该是呃,有了这个价格之后,它自动的计算啊,自动计算,那这样我们把这个价格呢,也给他指定一下啊,指定一下为什么我在这测试中不指定呢。我要指定的话,还得跟这个里边的图出的还得一致啊,不一致就是测出这个结果是不一样的啊,这是27块二。第一本书是27块二,第二本书是。
18:02
23,好,来来。啊,价格。27块二。好,27块二,这是第二个,哎,因为我们一会需要用到这个价格,有了价格我才能计算这个金额小计。这个是多少啊。23。二三是二三吗。啊二十七点二零二二十三点二啊零零好啊现都写上答啊,点一个零零好,保存好好。逗号。逗号,好哎,这是两个我们有用的信息,为什么要设置ID,因为我插入的时候需要有ID,为什么要设置价格,因为我里边这个amount,诶是不是要根据这个数量跟价格计算之后才能得到,对吧,就这块啊好哎看有了,哎,下边继续,哎下一个amount呢,不用设置了,因为我插入的时候是不是掉的那个。
19:00
Get among那个函数啊,那个方法呀,对吧,直接among就有了,Among有了,好还有一个cut ID,就是你的这个购物车的这个ID,哎你得有,哎你得有,所以呢,诶来卡ID。那我这块写个什么呢?写个666。8888,好啊,就这样了啊,我们现在先先随便写一个啊,随便写一个。好,就是这个啊,创建这一个勾项了,诶来再来一个。啊,第二个购物箱也属于我这个购物车,那这个呃,布克呢,就变成book科二,哎,第二本图书了,买了第二本图书啊,买了第二本图书,那这个呢,我买。诶,这个不好算是吧,我们把第一个买十本吧。这个数。我买十本它,然后第二个呢是。我买我也买十本,买十本比较好算。十本好,是不是一共买了20本?
20:01
哎,那一共花多少钱呢?现在你能能告诉我吗。一共多少钱呢?五百零五百一十二是吧。是512吗?它乘以十二百七十二。啊,502啊502对502啊502,哎来啊502,最终呢,有一会我们插入到数据库里边,看看这个值对不对啊对不对,好现在啊不可有了,看到有了,哎这个看ID也有了,哎还差一个购物车呢,哎购物车还没有,所以呢,哎这块来那么来创建这个购物车。购物像有了,还差购物车cut。等于星model点一个cut cut还差一个东西,我cut里边是不是切片啊?对吧,所以啊,我还得有个切片,所以呢,这块呢,来创建这个一个这个购物箱切片。
21:05
来word一个叫一个cut埃斯。切片类型。星cut model,点一个cut it。好哎,那有了它之后,有了这两个卡单独之后啊,在这块呢,我需要把它给加上。哎,没有用啊,没有用好,哎,来在这我来加上,将它加到切片里边,卡在艾斯。等于a pen。Cut艾斯。后面是cut。A卡item。好,哎,就是把这个呢加到切片里边了,诶来。复制一个往下移。诶把这个呢,也加到切片里边,好,哎,两个都加到切片里边了,我这个切片里边有内容了,所以呢,来创建这个购物车。
22:00
二。啊对对对啊后面后面啊乱写二好哎加进去了啊加进去了好现在呢,购物车里边,哎,我可以了,哎可以直登了,这个呢,购物车里边注意这个ID我还能乱写吗。是不是就必须得是上面这个6668888啦,对吧?啊必须得是道啊,上面两个购物项属于你这个购物车的,所以呢,这个就不能乱写了,上面这个ID是什么?它哎是它的一个外键,所以呢,这块哎你这个也要注意,那另外还有我们的这个。还有一个优的ID没有指定啊,哪一块。啊,在购物车里边啊,购物车里边的好,第一个呢,是我的这个购物车的一个ID来叫一个,这个叫什么名忘了啊卡的ID这个呢,值就必须得是666。巴巴巴拉,哎,你这个不能乱写了啊。哎,它属于它的一个,呃,外键外键好,哎来哎第二个。
23:01
工厂里边有一个掏通。Count总数量,总数量现在是几啊?20吧,二十二十,因为我们现在测试啊,现在测试呢逗号,然后呢总金额。因为我们插入的时候。看一下啊,这个应该不用设置,我们刚刚插入的时候,看是不是调的这个方法,直接调这个方法就可以了。爱的。At cut这块cut.id cut.to这块我是不是直接调用方法就能得到了呀?对吧,点一个。Get一个total count,所以呢,那两个就不用指定了啊,那两个就不用指定了,直接测试就有了,这块呢也一样。点一个get total amount,诶直接调这两个方法,诶有了这个,呃。切片之后是不是里边这些纸都有了?
24:02
哎,就有了啊就有了好,哎这个改完之后呢,哎,回来,哎,再回到我们这个测试这块,哎这个里边啊,那这两个是不是就不用指定了。默认就有了吧,诶对吧,诶因为调研方法就有了,哎好,哎还有一个很重要的一个字段,就是这个U的ID,这个购物车属于谁属于谁得把它指定一下啊,得把它指定一下,还有我的这个购物项的切面还没有指定是吧,还一个卡特艾特姆斯,好后边呢,就是我们刚刚这个卡特艾姆斯,卡特艾特姆斯。卡特艾斯出来啊。在这在这好,哎,最后一个user的一个ID。哎,好,我们来给谁。User,给这个admin。给四吧,给对面四了啊四。好。保存好逗号。现在哎现在啊,我们再来把这个呢捋一下啊,因为我们现在要测这两个,刚刚写的这两个方法,一个是像构象那个表里边插入购物项的,一个是像购物车那个表里边插入购物车的,所以呢这块诶我们这个里边呃,创建了设置了两个我们要买的书,诶第一本书哎,ID等于一,第二个是ID等于二呢,哎,为什么要给它设置价格,因为我们要购物项里边要根据价格跟数量计算它的这个金额小计,所以呢,给他设置这个价格来跟ID啊下面这块呢,呃,由于我的这个购物车里边有一个切片类型的购物项,所有的购物项,所以呢,我创建了一个购物这个切片,切片下面呢,就是来创建两个购物项了,诶,就是创建的这两个购物项,就相当于我们购物车里边这一个,诶可以了,还有下边这些对吧,就这些啊一个就是这样的跳跳啊,就是它就相当于它那在购物箱里边,我得把那两本我要买的书呢放进去,诶放进去诶同样这块的这个count我想买几本呢,最中的那个花的钱它自动的就有了,因为里边个get。
25:58
卡哎,我该怎么玩,诶把这个呢,呃,卡你还得添加到切片里边,这个也一样,添加到切片里边,最后呢,把它的切片设置到这个cut里边就可以了,好啊,这个写完了,下面呢来测试了,诶将这个购物车。
26:13
呃,插入到数据库中,好,那下面啊调的是A。Cut这个方法,这个函数啊,里边传一个cut保存。好写完了,下面呢,哎,就是这个测试了,看看能不能成功,上面的有没有注掉啊,我现在就测购物车。好,没问题了,没问题了,来右键。终端打开。哎,很紧张的时刻是吧。回车。诶,不要出错,不要出错。你好,成功了,来来看一下数据库吧。
27:00
打卡。还好,ID666888有了,一共买了20本书,诶,钱怎么没有呢?SQ语句写错了吗?我我们这个一会来找这个原因啊,看谁诶谁的,诶这个德MI4DMI4这个买的DMI4的购物车,来看这个购物箱里边有没有。这里边儿怎么也没有啊。你哪一块写错了?艾,那我把它改了。IT4写错了是吧,It。埃特姆斯。好,埃斯好。没有下划线,不是空格。不是空格啊,下划线啊下划线艾啊,没问题了啊,没问题了,就是这个了。
28:01
来哎,我把这个删掉啊,删掉重新来啊重新来来干掉好诶来刷新一下,哎,刚刚呢是这个有问题了啊,这个有问题了,我来看一下我的思狗句插入订单项卡特艾姆斯好诶没问题了,来再来。听一下go。走。好来,这回不应该有问题了吧?刷新。这个怎么还是没有纸啊?诶这个进来了是吧?诶这个进来了啊买了第一本书不开ID,诶不ID解忧大后天也没问题,诶第二本书,诶我们的这个编程也没问题,然后呢,它属于诶哪一个购物购物车,诶上面这个六六六八十八没问题,也没问题啊然后呢,这个买了十本,诶这个买了十本,诶看这个总数,哎一共20本,好没问题,那这个total amount怎么是零呢。
29:04
来看一下计算这块,我们是不是写错了啊。Total amount的。Total amount。他说诶,没问题啊。获取。进而便利这个每个购物项拿到每个里边的这个amount。诶,我们这个里边的金额小鸡有吗。这个里边没错吧。这个里边没错,那个便利之后。
30:01
哪个啊?获取偷偷哦。这个这个应该放前面对吧,哎,顺序的事啊,顺序的事,因为你这块get total count的前。之前你是不是得先把这些。得加进去是吧,哎,得加进去啊,得加进去,哎所以呢,这块啊这块哎这个哎这个呢,位置的是啊位置的是哎对啊这个问题,哎来啊把它CTRLX对你这个这个不执行,是不是没有那个。那不对吧。你首先得交一个。那我这个count。我在这测试的时候。来啊,我们我们来看一下这个。这块我设置完它。
31:01
在这块看item。Item里边有了十之后,有的数量之后,有了价格之后,里边的amount就有了,Amount就有了之后呢,我把它加到这个。把它们都加到这个cut里边,那cut里边呢,里边有amount,我在便利它应该加起来没问题啊。来啊,我把这个呢,拿到上面啊,拿到上面CTRLV。CTRLS保存一下啊,先获取所有的,然后呢便利诶先插入它。打开这个。Get amount没问题,哎,保存进去了,这个是没问题的,我们保存进去了,那这个总的怎么有问题呢?来啊再来。把这些呢再干掉。
32:00
重新来啊。这个呢,也干掉。刷新一下。刷新一下,好来,再来一次go test。有问题。后续的我们。这个没办法测啊,有问题不行,诶刷新。咦?诶,这个这个保保存不进去了呀。所以呢,这个顺序啊,这个为什么这个保存不进去,因为那个搜口就它有问题了,你这个不能拿上面,为什么不能拿上面呢?你这个保存它之前是不是必须得先有订单呢。得先先有购物车吗?有购物车的,插入完购物车之后,有了那个购物车的ID之后,我是不是才能插入这个订单项啊。勾不项啊对吧,勾不项,所以啊不是这个的原因啊,不是这的原因,CTRLX这个还得写下边,你得先插入这个,你得先插入这个表,因为插完这个表之后呢,这个订单项,哎先插入这个表,插完之后呢,这才有ID,有了ID入这块我需要有外键我才能,哎插入一个个的购物项,购物项所以这块啊这个哎位置呢,还得还是之前的那个位置,那现在我们得分析一下这个问题出在哪啊。
33:22
获取。Total count total amount。cut.get to。哎呀。这应该是偷偷啥?Auto total,诶,对呀。这个啊,这个。Total amount。那总数量对总金额应该没问题啊。
34:04
Car的便利。卡艾斯得到一个一个的。Amount就是那个金额小计。Amount不就是他嘛,金刚小计,然后呢,遍历完之后呢,加起来。加起来之后呢,返回。有一天你偷偷看看,诶,没问题啊。加加个什么。这写的感觉没有问题啊。怎么获取不到呢?数量能获取到那金额。那么这样我们先把它写死,看看能不能插入进去啊,应该我们的四口句没有问题。循环。
35:02
购物项。拿出来自己算是吧,那那就是这块我们把它写死就行了,这块呢,在这插入购物箱的时候。呃,偷偷。偷偷count。Total count是20,诶我们这个20,然后呢,下边的total amount。我们算的是多少啊,500。02.00是吧。哎,502 502,嗯,502好,那你现在测的话就没问题了,没问题了,那这块呢,我们这个插入的时候呢,就不用这样,就不用这样写了。我们这块。这块呢,就直接点就可以了,因为我们是不是已经指已经死了。直接点一个total count,但是我们这个怎么会不对呢。
36:00
Total amount,哎,Total amount,好啊,这total count total amount现在就直接属性了,因为我们在测试这块呢,创建这个cut的时候已经给他指定了,所以直接点就行了啊,这个点就行了,我们刚刚调方法是因为它里边提供这个方法才能得到这个值嘛,所以呢调到它啊,好,现在呢,再来测一次啊。狗。那我这字段不应该呀。好爱赖。刷新一下。嗯。你怎么这个插入不进来了呀。啊,我我这个。我刚刚改这个代码了是吧。刚刚好好的,现在什么都不行了呀。Current amount book ID。
37:04
Insert现在一个都插入进。购物车。666,哎,有了没问题。ID等于四来删掉。刷新。购物项,好,再来一次啊。删了go。算是不成功了。来,哎,点它干什么。刷新。哎,好进来了啊,272230,哎一二一共是502来看卡502好这样没问题,那我们刚刚那个。刚刚那个是怎么回事呢。这样啊,这个下课休息一下,然后呢,我在这看一下啊,看一下这个怎么回事。
我来说两句