Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tự tham khảo nhiều loại quan hệ với nhiều ngườiORM

Bạn có thể tự tham khảo các mối quan hệ của mình. Đây là một ví dụ về biểu đồ có hướng đơn giản (hay còn gọi là một nút có thể có một nút cha và nhiều nút con).

Lớp xuất
@Entity()
export class Service extends BaseEntity {

  @PrimaryGeneratedColumn()
  id: number;
  
  @Column()
  @Index({ unique: true })
  title: string;

  @ManyToOne(type => Service, service => service.children)
  parent: Service;

  @OneToMany(type => Service, service => service.parent)
  children: Service[];
}

Một lưu ý quan trọng cần ghi nhớ là các quan hệ này không được tải tự động khi đọc một đối tượng từ DB với find* các chức năng.

Để thực sự tải chúng, bạn phải sử dụng trình tạo truy vấn vào lúc này và kết hợp chúng. (Bạn có thể tham gia nhiều cấp độ.) Ví dụ:

let allServices = await this.repository.createQueryBuilder('category')
  .andWhere('category.price IS NULL')
  .innerJoinAndSelect('category.children', 'product')
  .leftJoinAndSelect('product.children', 'addon')
  .getMany();

Vui lòng lưu ý cách tôi sử dụng các tên khác nhau để tham chiếu chúng (category , productaddon ).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách cài đặt MySQL trên Ubuntu

  2. Làm thế nào để quản lý Vai trò Người dùng trong Cơ sở dữ liệu?

  3. Khi nào tôi nên sử dụng $ wpdb-> chuẩn bị, nếu có?

  4. Không tìm thấy tệp MySql mysql.h trong VS2008 C ++ <Câu hỏi dành cho người mới bắt đầu>

  5. Đồng thời lạc quan với Entity Framework và MySQL