العلاقات بين الجداول

العلاقة OneToOne

https://orkhan.gitbook.io/typeorm/docs/one-to-one-relations

https://typeorm.biunav.com/en/one-to-one-relations.html

العلاقة Many-to-one / one-to-many

https://typeorm.biunav.com/en/many-to-one-one-to-many-relations.html


سؤال محمد جداً:
https://stackoverflow.com/questions/54965381/how-to-insert-an-entity-with-onetomany-relation-in-nestjs


لربط جدول من جهة واحدة:

    @ManyToOne(type => EmployeeCard)
    @JoinColumn({ name: "created_by_d" })
    created_by_d?: EmployeeCard;

العلاقات حسب تجربتي تكون بهذا النحو:

    @ManyToOne(() => jobs, (job) => job.app,
{ cascade: true, eager: true, nullable: true })
// specify inverse side as a second parameter
    @JoinColumn()


    @OneToMany(() => EmploymentApplication,
(app) => app.first_job_desire)
// specify inverse side as a second parameter
    app: EmploymentApplication[];



    @OneToOne(() => EmployeeCard, (employeeCard) => employeeCard.employee) // specify inverse side as a second parameter
    employeeCard: EmployeeCard;


    @OneToOne(() => Employee, (employee) => employee.employeeCard, { cascade: true, eager: true, nullable: true }) // specify inverse side as a second parameter
    @JoinColumn()
    employee: Employee;

بعض المشاكل:

مشكلة:

#1828 - Cannot drop column 'firstJobDesireId': needed in a foreign key constraint 


تكون هذه المشكلة عادةً بسبب المفتاح الأجنبي فلا يمكن إسقاط الحقل في حالة كان مفتاحاً أجنبياً


الحل:

ALTER TABLE `employment_application` DROP FOREIGN KEY `FK_7b172675864e7c31a3c31f89875`;

ALTER TABLE `employment_application` DROP COLUMN `firstJobDesireId`;


تعليقات

المشاركات الشائعة من هذه المدونة

ngx-extended-pdf-viewer

how to getting access token for https://fcm.googleapis.com/v1/projects/al-ayahya-co/messages:send for angular and backend nestjs

طريقة تفعيل زر Inline Keyboard في Telegram Bot