Saya sedang membina sistem tindanan penuh kecil (skrip taip, ekspres, NodeJs) dan dalam salah satu laluan pengguna boleh meminta filem berdasarkan teater yang dipilih, perkhidmatan khusus adalah seperti berikut:
async function getMoviesByTheatreId(theatreId : number) : Promise<MovieModel[]> { // SQL: const sql = 'SELECT * FROM movies where theatreId = ?;' // Call dal: const movies = await dal.execute(sql ,[theatreId]); // Return: return movies; }
Penjelasan Terdapat dua jadual dalam pangkalan data MYSQL - Teater dan Filem. Mereka berkongsi kunci asing yang merujuk lajur "theatreId" dalam jadual Teater. Kunci asing ialah kunci asing dalam jadual filem.
Kini, terdapat kemungkinan pengguna menghantar beberapa theatreId yang tidak wujud, dalam hal ini saya ingin membuang ResourceNotFoundError baharu. Walau bagaimanapun, kemungkinan theatreId juga wujud, tetapi tiada filem yang sepadan dengan teater tersebut. Dalam kes ini saya tidak mahu membuang kesilapan itu. Saya juga mahu ia menjadi baik dari segi prestasi, menggunakan berbilang pertanyaan untuk menyemak pangkalan data akan melambatkan keseluruhan proses.
Mula-mula, sebelum menanyakan jadual Filem, semak sama ada teater dengan
theatreId
yang disediakan wujud dalam jadual Teater. Kemudian anda boleh menanyakan filem itu.Berikut ialah kod contoh: