﻿1
00:00:01,042 --> 00:00:02,080
‫Instruktur: Dalam

2
00:00:02,080 --> 00:00:04,790
‫video ini, kami akan menerapkan halaman pemesanan saya.

3
00:00:04,790 --> 00:00:07,200
‫Jadi, pada dasarnya kita akan membuat halaman

4
00:00:07,200 --> 00:00:10,183
‫bagus yang berisi semua tur yang telah dipesan pengguna.

5
00:00:11,950 --> 00:00:15,920
‫Dan mari kita mulai dengan menambahkan rute baru ke viewRoutes kita.

6
00:00:17,120 --> 00:00:21,320
‫Oke, jadi kita punya saya dan setelah itu

7
00:00:21,320 --> 00:00:23,253
‫buat tur saya.

8
00:00:24,720 --> 00:00:29,720
‫Jadi saya menduplikasi yang ini, tur saya, lalu rute ini juga

9
00:00:29,740 --> 00:00:32,230
‫perlu dilindungi sehingga hanya pengguna yang

10
00:00:32,230 --> 00:00:34,090
‫saat ini masuk

11
00:00:34,090 --> 00:00:37,150
‫yang dapat mengakses halaman ini, tentu saja.

12
00:00:37,150 --> 00:00:39,020
‫Dan kemudian, di viewsController

13
00:00:39,020 --> 00:00:41,723
‫kami, kami akan memiliki pengontrol yang disebut getMyTours.

14
00:00:44,029 --> 00:00:47,480
‫MyTours seperti ini, oke?

15
00:00:47,480 --> 00:00:49,943
‫Dan itu sebenarnya untuk saat

16
00:00:50,930 --> 00:00:54,123
‫ini, jadi mari kita buat pengontrol ini sekarang.

17
00:00:56,090 --> 00:00:59,030
‫Oke, jadi kita punya semua

18
00:00:59,030 --> 00:01:02,790
‫ini, dapatkan tur, dapatkan formulir masuk, dapatkan akun.

19
00:01:02,790 --> 00:01:04,853
‫Jadi mari kita letakkan yang ini di sini juga.

20
00:01:12,559 --> 00:01:14,690
‫Jadi sekarang, yang perlu kita lakukan

21
00:01:14,690 --> 00:01:18,060
‫di sini adalah menemukan semua tur yang telah dipesan pengguna.

22
00:01:18,060 --> 00:01:21,050
‫Jadi, pada dasarnya, pertama-tama kita perlu menemukan semua pemesanan untuk

23
00:01:21,050 --> 00:01:23,170
‫pengguna yang saat ini masuk yang

24
00:01:23,170 --> 00:01:25,620
‫kemudian akan memberi kita banyak ID tur,

25
00:01:25,620 --> 00:01:28,503
‫dan kemudian kita harus menemukan tur dengan ID tersebut.

26
00:01:29,400 --> 00:01:34,400
‫Jadi, pada dasarnya, temukan semua pemesanan dan kemudian

27
00:01:39,790 --> 00:01:44,340
‫temukan tur dengan ID yang dikembalikan.

28
00:01:44,340 --> 00:01:48,890
‫Jadi pada dasarnya ID pemesanan untuk pengguna, bukan?

29
00:01:48,890 --> 00:01:50,720
‫Sekarang, sebagai gantinya, kami juga

30
00:01:50,720 --> 00:01:53,440
‫dapat melakukan populasi virtual pada tur, dan akan

31
00:01:53,440 --> 00:01:55,413
‫sangat bagus jika Anda menerapkan ini

32
00:01:55,413 --> 00:01:59,130
‫sendiri persis seperti yang telah kami lakukan sebelumnya dengan tur dan

33
00:01:59,130 --> 00:02:01,240
‫ulasan, tetapi di sini dalam fungsi

34
00:02:01,240 --> 00:02:04,040
‫ini saya benar-benar ingin untuk menunjukkan kepada Anda

35
00:02:04,040 --> 00:02:05,710
‫bagaimana kita bisa

36
00:02:05,710 --> 00:02:08,290
‫melakukannya secara manual karena saya pikir itu

37
00:02:08,290 --> 00:02:10,067
‫juga penting dan sebenarnya populasi

38
00:02:10,067 --> 00:02:13,550
‫virtual harus bekerja seperti yang akan kita lakukan di sini.

39
00:02:13,550 --> 00:02:16,100
‫Jadi Anda melihat bahwa sebenarnya kami membutuhkan

40
00:02:16,100 --> 00:02:18,070
‫dua kueri untuk benar-benar

41
00:02:18,070 --> 00:02:20,487
‫menemukan tur yang sesuai dengan pemesanan pengguna.

42
00:02:20,487 --> 00:02:22,850
‫Bagaimanapun, sekarang mari kita mulai,

43
00:02:22,850 --> 00:02:25,753
‫jadi mari kita buat variabel untuk semua pemesanan,

44
00:02:28,751 --> 00:02:33,513
‫tunggu dan sekarang saya pikir kami belum memiliki pemesanan di sini, tidak.

45
00:02:37,840 --> 00:02:39,533
‫Jadi Pemesanan di sini, dan pemesananModel.

46
00:02:43,010 --> 00:02:47,890
‫Dan di sini, tentu saja, itu hanya pemesanan, oke.

47
00:02:47,890 --> 00:02:52,890
‫Jadi tunggu Pemesanan. temukan, dan sekarang ingat

48
00:02:53,530 --> 00:02:58,380
‫bahwa setiap dokumen pemesanan memiliki ID pengguna, bukan?

49
00:02:58,380 --> 00:03:00,160
‫Jadi di sini, di Skema,

50
00:03:00,160 --> 00:03:02,331
‫ingat kita memiliki ID tur, ID pengguna,

51
00:03:02,331 --> 00:03:04,410
‫dan kemudian semua data lain ini, jadi

52
00:03:04,410 --> 00:03:05,870
‫apa yang akan kita

53
00:03:05,870 --> 00:03:09,400
‫lakukan sekarang pada dasarnya adalah melakukan kueri berdasarkan ID pengguna, oke?

54
00:03:09,400 --> 00:03:10,940
‫Dan itu akan

55
00:03:10,940 --> 00:03:15,136
‫mengembalikan kita semua tur milik pengguna saat ini, oke?

56
00:03:15,136 --> 00:03:16,653
‫Jadi, bukan yang ini.

57
00:03:20,650 --> 00:03:23,900
‫Jadi tur harus sama dengan req. pengguna. Indo.

58
00:03:29,170 --> 00:03:33,790
‫Lalu di sini async, dan seperti biasa, catchAsync juga.

59
00:03:37,000 --> 00:03:39,440
‫Jadi pemesanan ini sekarang berisi semua dokumen

60
00:03:39,440 --> 00:03:41,810
‫pemesanan untuk pengguna saat ini,

61
00:03:41,810 --> 00:03:44,690
‫tetapi sebenarnya itu hanya memberi kami ID tur.

62
00:03:44,690 --> 00:03:48,350
‫Jadi sekarang kami ingin menemukan tur dengan ID yang dikembalikan.

63
00:03:48,350 --> 00:03:50,500
‫Jadi langkah selanjutnya adalah

64
00:03:50,500 --> 00:03:52,976
‫pada dasarnya membuat larik dari semua

65
00:03:52,976 --> 00:03:55,430
‫ID, dan setelah itu kueri untuk

66
00:03:55,430 --> 00:03:58,512
‫tur yang memiliki salah satu ID ini, oke?

67
00:03:58,512 --> 00:04:00,950
‫Dan ini akan sedikit lebih masuk akal

68
00:04:00,950 --> 00:04:03,973
‫setelah kita benar-benar menerapkan apa yang baru saja saya jelaskan.

69
00:04:04,830 --> 00:04:09,347
‫Jadi tourID sama dengan pemesanan dan sekarang kita akan

70
00:04:09,347 --> 00:04:11,240
‫menggunakan peta untuk membuat

71
00:04:11,240 --> 00:04:14,630
‫array baru berdasarkan fungsi panggilan balik yang

72
00:04:15,700 --> 00:04:17,530
‫satu ini, jadi el

73
00:04:17,530 --> 00:04:22,300
‫saat ini. wisata. Indo.

74
00:04:22,300 --> 00:04:25,200
‫Jadi, apa yang akan dilakukan?

75
00:04:25,200 --> 00:04:28,630
‫Yah, pada dasarnya ini loop melalui seluruh array pemesanan dan pada

76
00:04:28,630 --> 00:04:32,760
‫setiap elemen itu akan mengambil el. wisata.

77
00:04:32,760 --> 00:04:35,130
‫Dan sebenarnya kita tidak perlu

78
00:04:35,130 --> 00:04:39,210
‫ID disini karena tournya sendiri sudah menjadi tour ID kan?

79
00:04:39,210 --> 00:04:41,460
‫Kemudian pada akhirnya, kami memiliki array yang

80
00:04:41,460 --> 00:04:44,330
‫bagus dengan semua ID tur di sini dan itu

81
00:04:44,330 --> 00:04:45,980
‫karena kami menggunakan peta.

82
00:04:49,640 --> 00:04:52,500
‫Oke, dengan memiliki semua ID tur,

83
00:04:52,500 --> 00:04:56,233
‫kita sebenarnya bisa mendapatkan tur yang sesuai dengan ID tersebut.

84
00:04:58,640 --> 00:05:03,640
‫Jadi tunggu Tournya. find dan kami sebenarnya ingin mencari berdasarkan ID, tetapi kami

85
00:05:07,380 --> 00:05:09,953
‫tidak dapat menggunakan . findbyid karena

86
00:05:10,900 --> 00:05:14,120
‫disini kita sebenarnya akan membutuhkan operator baru.

87
00:05:14,120 --> 00:05:15,470
‫Dan operator tersebut, yang

88
00:05:15,470 --> 00:05:17,630
‫saya tidak yakin apakah kita pernah menggunakannya

89
00:05:17,630 --> 00:05:18,713
‫sebelumnya, dipanggil.

90
00:05:20,370 --> 00:05:21,810
‫Jadi, di tourIDs.

91
00:05:24,320 --> 00:05:26,330
‫Jadi pada dasarnya apa

92
00:05:26,330 --> 00:05:28,370
‫yang akan dilakukan alih-alih itu

93
00:05:28,370 --> 00:05:33,370
‫akan memilih semua tur yang memiliki ID yang ada di array tourIDs, oke?

94
00:05:33,520 --> 00:05:35,277
‫Jadi itu cukup

95
00:05:35,277 --> 00:05:37,618
‫mudah, tetapi sangat menyenangkan mengetahui bahwa

96
00:05:37,618 --> 00:05:41,720
‫kita dapat menggunakan operator yang sangat berguna ini di sini, oke?

97
00:05:41,720 --> 00:05:43,770
‫Dan itulah sebenarnya salah satu alasan

98
00:05:43,770 --> 00:05:45,620
‫mengapa saya ingin melakukan ini

99
00:05:45,620 --> 00:05:49,200
‫secara manual daripada hanya melakukan populasi virtual seperti yang kami lakukan sebelumnya.

100
00:05:49,200 --> 00:05:51,760
‫Tapi sekali lagi, alangkah baiknya jika Anda

101
00:05:51,760 --> 00:05:53,760
‫melanjutkan dan benar-benar menerapkannya

102
00:05:53,760 --> 00:05:55,823
‫juga hanya untuk bersenang-senang, lho.

103
00:05:57,060 --> 00:05:58,860
‫Oke, dan dengan ini

104
00:05:58,860 --> 00:06:01,593
‫kami sebenarnya sudah menyiapkan tur kami untuk ditampilkan.

105
00:06:03,330 --> 00:06:07,385
‫Jadi, res. status seperti

106
00:06:07,385 --> 00:06:11,230
‫biasa, dan kemudian membuat mereka, oke?

107
00:06:11,230 --> 00:06:14,100
‫Dan sebenarnya, kita bahkan tidak memerlukan template baru untuk ini.

108
00:06:14,100 --> 00:06:17,383
‫Kami hanya akan menggunakan kembali ikhtisar, oke?

109
00:06:19,670 --> 00:06:21,300
‫Jadi kita akan berakhir

110
00:06:21,300 --> 00:06:23,530
‫dengan halaman yang terlihat sangat mirip

111
00:06:23,530 --> 00:06:26,923
‫dengan ikhtisar, tetapi hanya dengan tur yang telah dipesan pengguna.

112
00:06:27,820 --> 00:06:30,456
‫Jadi, di sini dan untuk mendapatkan

113
00:06:30,456 --> 00:06:34,180
‫gambaran, kami kemudian benar-benar lulus di semua tur, oke?

114
00:06:34,180 --> 00:06:36,510
‫Jadi pada dasarnya semuanya.

115
00:06:36,510 --> 00:06:38,960
‫Jadi sekarang, kita akan memiliki sesuatu yang

116
00:06:38,960 --> 00:06:42,113
‫sangat mirip tetapi tentu saja hanya melewati tur yang dipesan.

117
00:06:42,113 --> 00:06:43,653
‫Jadi, di mana itu?

118
00:06:47,450 --> 00:06:51,813
‫Baiklah, jadi judulnya adalah Tur Saya, dan

119
00:06:56,050 --> 00:06:59,640
‫sekali lagi meneruskan variabel tur.

120
00:06:59,640 --> 00:07:01,680
‫Oke dan seharusnya begitu.

121
00:07:01,680 --> 00:07:03,810
‫Sekarang tentu saja kita juga bisa

122
00:07:03,810 --> 00:07:06,550
‫membuat kartu baru untuk toko buku ini dengan

123
00:07:06,550 --> 00:07:08,250
‫beberapa informasi yang

124
00:07:08,250 --> 00:07:10,080
‫lebih relevan tentang setiap pemesanan,

125
00:07:10,080 --> 00:07:12,830
‫tetapi dalam kasus ini itu tidak terlalu penting.

126
00:07:12,830 --> 00:07:14,290
‫Sekarang, kan?

127
00:07:14,290 --> 00:07:16,480
‫Jadi sebenarnya kami sudah siap untuk

128
00:07:16,480 --> 00:07:20,040
‫menguji ini karena kami sudah mengimplementasikan rute di sini sebelumnya.

129
00:07:20,040 --> 00:07:22,620
‫Dan itulah tur-ku.

130
00:07:22,620 --> 00:07:25,750
‫Oh, tapi sebenarnya mari kita atur tautan ini di

131
00:07:25,750 --> 00:07:28,240
‫sini tepat di halaman akun pengguna.

132
00:07:28,240 --> 00:07:31,380
‫Jadi tur saya ini tentu saja

133
00:07:31,380 --> 00:07:35,066
‫harus memiliki tautannya sendiri di sini di akun.

134
00:07:35,066 --> 00:07:36,633
‫Jadi di kolom

135
00:07:37,860 --> 00:07:40,777
‫kiri itu, jadi itu di sini di Pemesanan

136
00:07:40,777 --> 00:07:42,560
‫saya, jadi kita punya yang

137
00:07:42,560 --> 00:07:44,949
‫pertama di sini yang untuk tautannya, ingat.

138
00:07:44,949 --> 00:07:48,800
‫Jadi sekarang, pada dasarnya semuanya tidak menunjukkan ke mana, tetapi sekarang

139
00:07:48,800 --> 00:07:51,453
‫untuk pemesanan kami benar-benar memiliki tautan.

140
00:07:51,453 --> 00:07:56,453
‫Dan itu adalah tur saya.

141
00:07:57,000 --> 00:07:59,570
‫Dan kita juga bisa menyebutnya sebagai pemesanan,

142
00:07:59,570 --> 00:08:02,053
‫tapi itu tidak terlalu penting.

143
00:08:03,210 --> 00:08:05,630
‫Jadi, sekarang kita siap untuk menguji ini.

144
00:08:05,630 --> 00:08:07,990
‫Mari kita benar-benar keluar dari pengguna

145
00:08:07,990 --> 00:08:11,363
‫ini, lalu masuk sebagai pengguna kita yang lain, Laura.

146
00:08:17,860 --> 00:08:22,380
‫Baiklah, jadi mari kita lihat apa yang kita dapatkan di sini

147
00:08:24,111 --> 00:08:26,476
‫dan itu memakan waktu terlalu

148
00:08:26,476 --> 00:08:31,014
‫lama, jadi mari kita lihat kode kita, edit terminal kita di sini.

149
00:08:31,014 --> 00:08:34,810
‫Oke, jadi tidak ada kesalahan di sini, tetapi juga

150
00:08:34,810 --> 00:08:38,390
‫sepertinya tidak ada yang benar-benar terjadi di sini.

151
00:08:38,390 --> 00:08:42,683
‫Jadi rute tur saya di sini bahkan tidak muncul, oke.

152
00:08:43,780 --> 00:08:45,550
‫Sekarang untuk menemukan bug

153
00:08:45,550 --> 00:08:48,600
‫ini, saya sebenarnya harus melakukan beberapa debugging

154
00:08:48,600 --> 00:08:52,304
‫di luar video ini karena itu sangat sulit ditemukan, oke.

155
00:08:52,304 --> 00:08:55,330
‫Pertama, ada kesalahan kecil di sini.

156
00:08:55,330 --> 00:08:58,690
‫Jadi ini di sini seharusnya menjadi pengguna dan bukan tur.

157
00:08:58,690 --> 00:09:00,800
‫Jadi saya menjelaskannya dengan benar saat

158
00:09:00,800 --> 00:09:03,373
‫itu, di mana saya mengatakan bahwa kita perlu

159
00:09:03,373 --> 00:09:05,811
‫memfilter berdasarkan pengguna, jadi tur di mana

160
00:09:05,811 --> 00:09:08,250
‫pengguna sama dengan pengguna yang berasal dari permintaan,

161
00:09:08,250 --> 00:09:11,690
‫tetapi kemudian untuk beberapa alasan saya melakukannya salah di sini, oke?

162
00:09:11,690 --> 00:09:13,904
‫Tapi itu bukan bug utama sebenarnya.

163
00:09:13,904 --> 00:09:17,267
‫Jadi bukan yang mencegah halaman benar-benar memuat.

164
00:09:17,267 --> 00:09:19,552
‫Kesalahan yang menyebabkan hal itu

165
00:09:19,552 --> 00:09:22,634
‫terjadi sebenarnya ada di sini dalam model pemesanan.

166
00:09:22,634 --> 00:09:26,810
‫Dan itu di sini di pra menemukan middleware ini.

167
00:09:26,810 --> 00:09:28,690
‫Dan masalahnya adalah

168
00:09:28,690 --> 00:09:32,944
‫kita tidak pernah memanggil middleware berikutnya di sini, kan?

169
00:09:32,944 --> 00:09:36,120
‫Jadi sekali lagi, ini adalah pra-middleware.

170
00:09:36,120 --> 00:09:38,490
‫Dan semua pra-middlewares memiliki akses ke

171
00:09:38,490 --> 00:09:40,620
‫fungsi berikutnya dan, pada akhir

172
00:09:40,620 --> 00:09:42,710
‫middlewares ini, kita selalu

173
00:09:42,710 --> 00:09:44,370
‫harus memanggil berikutnya.

174
00:09:44,370 --> 00:09:48,634
‫Kalau tidak, proses kita benar-benar macet, oke?

175
00:09:48,634 --> 00:09:52,110
‫Jadi berikan yang menyimpan, benar-benar bisa menutup yang satu ini.

176
00:09:52,110 --> 00:09:54,800
‫Jadi sekarang mari kita coba lagi

177
00:09:56,754 --> 00:09:59,532
‫dan sekarang memang kami memiliki tur saya,

178
00:09:59,532 --> 00:10:04,097
‫tetapi itu kosong karena pengguna ini tidak pernah benar-benar melakukan pemesanan.

179
00:10:04,097 --> 00:10:06,803
‫Jadi, mari kita coba sekarang,

180
00:10:08,000 --> 00:10:10,203
‫dan pesanlah pendaki hutan.

181
00:10:16,070 --> 00:10:18,480
‫Jadi itu seharusnya masih

182
00:10:18,480 --> 00:10:21,291
‫berfungsi, dan memang benar, sangat bagus.

183
00:10:21,291 --> 00:10:24,400
‫Kami memiliki alamat email yang telah diformat sebelumnya

184
00:10:24,400 --> 00:10:26,763
‫dan sekarang, seperti biasa 4242.

185
00:10:28,590 --> 00:10:31,841
‫Jadi kami melakukan pemesanan sebelumnya dengan pengguna ini, tetapi

186
00:10:31,841 --> 00:10:34,710
‫sebelum kami menerapkan model pemesanan dan oleh karena

187
00:10:35,870 --> 00:10:37,681
‫itu kami tidak pernah

188
00:10:37,681 --> 00:10:39,893
‫benar-benar membuat pemesanan di sistem kami.

189
00:10:42,150 --> 00:10:44,590
‫Baiklah, jadi pembayaran diterima

190
00:10:44,590 --> 00:10:49,590
‫dan sekarang mari kita lihat dan ini dia, bagus!

191
00:10:51,689 --> 00:10:55,200
‫Jadi logika yang baru saja kita terapkan

192
00:10:55,200 --> 00:10:57,400
‫benar-benar berfungsi dan satu-satunya

193
00:10:57,400 --> 00:11:00,020
‫masalah adalah hilangnya middleware berikutnya.

194
00:11:00,020 --> 00:11:03,240
‫Dan begitu saja, kami menyelesaikan halaman lain dari

195
00:11:03,240 --> 00:11:05,470
‫situs web dinamis kami.

196
00:11:05,470 --> 00:11:09,230
‫Dan selanjutnya, yang harus dilakukan saat ini

197
00:11:09,230 --> 00:11:11,513
‫adalah menyelesaikan API pemesanan.

