typescript - ทำให้การเรียกข้อมูลของ prisma เป็นแบบไดนามิก (เช่น this.prisma['dataType'].count())
ฉันกำลังพยายามสร้างฟังก์ชันนับที่ฉันสามารถใส่ในวัตถุทั้งหมดของฉัน ในไฟล์ 'core' ของฉัน Prisma เป็นแบบนี้ ดังนั้นฉันจึงสามารถทำสิ่งต่างๆ เช่น this.user.count() หรือ this.company.count()
ฉันได้ลองสร้างฟังก์ชันชื่อว่า count แบบนี้
count(dataType) {
return this['dataType'].count()
}
เพื่อให้จากทุกที่อื่นในแอป ฉันสามารถเรียก count('dataType') ได้เลย
หน้าที่ของฉันจริง ๆ แล้วซับซ้อนมากกว่านี้พอสมควร - เพราะงานทั้งหมดนี้เพื่อการแทนที่จากบรรทัดหนึ่งเป็นอีกบรรทัดหนึ่งจะไม่สมเหตุสมผล แต่ก็เป็นไอเดียนี้ วิธีที่ฉันลองทั้งหมดไม่สำเร็จ - เป็นไปได้ไหม?
คำตอบ #1
ฉันกำลังใช้ Prisma.ModelName ซึ่งสามารถส่งกลับให้คุณได้ทุกโมเดลที่คุณมีใน prisma ของคุณ จากนั้นคุณก็สามารถอ้างอิงมันแบบนี้
this.prismaService[this.modelName].count()
หรือคุณสามารถส่ง "Prisma.ModelName" เป็นประเภททั่วไปไปยังคลาสแล้วใช้ตัวอย่างข้างต้น
