Tìm kiếm trang web

typescript - Làm cho một cuộc gọi dữ liệu prisma trở nên động (ví dụ: this.prisma['dataType'].count())


Tôi đang cố gắng tạo một hàm đếm mà tôi có thể bao gồm trong tất cả các đối tượng của mình. Trong tệp 'core' của tôi, Prisma là như thế này. Vì vậy, tôi có thể thực hiện các thao tác như this.user.count() hoặc this.company.count()

Tôi đã thử tạo một hàm gọi là count như thế này

count(dataType) {
 return this['dataType'].count()
}

Để từ bất kỳ chỗ nào khác trong ứng dụng, tôi có thể chỉ cần gọi count('dataType').

Chức năng của tôi thực sự phức tạp hơn nhiều - vì tất cả công việc này cho một câu thay thế cho một câu sẽ không có lý, nhưng đây là ý tưởng. Không cách nào tôi đã thử là hiệu quả - điều này có khả thi không?

Câu trả lời #1

Hiện tại tôi đang sử dụng Prisma.ModelName, cái này có thể trả về cho bạn tất cả các mô hình bạn có trong Prisma của mình, sau đó bạn có thể tham chiếu nó như thế này

this.prismaService[this.modelName].count()

hoặc bạn có thể truyền "Prisma.ModelName" nó như một Kiểu tổng quát vào một lớp sau đó sử dụng ví dụ ở trên