Replies: 4 comments 9 replies
-
|
Which version of CFWheels and which database (and version) are you using? |
Beta Was this translation helpful? Give feedback.
-
|
Update This NOT work: This NOT work: This WORK: |
Beta Was this translation helpful? Give feedback.
-
|
This is enough to promote this to an issue @blastiko. I've gone ahead and done that (#1217). This looks to have something to do with referring to the same table twice. |
Beta Was this translation helpful? Give feedback.
-
|
@dbelanger The issues has been fixed, please have your review and LMK your feedback. Thanks |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi guys
Table "moduleclassrooms" has two foreing key (teacherid and secondteacherid) to "teachers" table:
CREATE TABLE
moduleclassrooms(idINT(11) NOT NULL AUTO_INCREMENT,moduleidINT(11) NOT NULL,classroomidINT(11) NULL DEFAULT NULL,teacheridINT(11) NULL DEFAULT NULL,secondteacheridINT(11) NULL DEFAULT NULL,masterlocationidINT(11) NOT NULL,streamingTINYINT(1) UNSIGNED NULL DEFAULT NULL,videolinkVARCHAR(500) NULL DEFAULT NULL COLLATE 'utf8_general_ci',streamingcodeVARCHAR(500) NULL DEFAULT NULL COLLATE 'utf8_general_ci',assignmentlettersendTINYINT(1) UNSIGNED NOT NULL DEFAULT '0',assignmentlettersignTINYINT(1) UNSIGNED NOT NULL DEFAULT '0',feedbackteacherTEXT NULL DEFAULT NULL COLLATE 'utf8_general_ci',createdatDATETIME NULL DEFAULT NULL,updatedatDATETIME NULL DEFAULT NULL,deletedatDATETIME NULL DEFAULT NULL,PRIMARY KEY (
id) USING BTREE,INDEX
fk_modulesclassrooms_modules1_idx(moduleid) USING BTREE,INDEX
fk_modulesclassrooms_classrooms1_idx(classroomid) USING BTREE,INDEX
fk_modulesclassrooms_masterslocations1_idx(masterlocationid) USING BTREE,INDEX
streaming_idx(streaming) USING BTREE,INDEX
fk_modulesclassrooms_teachers1_idx(teacherid) USING BTREE,INDEX
fk_moduleclassrooms_secondteacherid1(secondteacherid) USING BTREE,CONSTRAINT
fk_moduleclassrooms_secondteacherid1FOREIGN KEY (secondteacherid) REFERENCESteachers(id) ON UPDATE CASCADE ON DELETE SET NULL,CONSTRAINT
fk_modulesclassrooms_classrooms1FOREIGN KEY (classroomid) REFERENCESclassrooms(id) ON UPDATE CASCADE ON DELETE SET NULL,CONSTRAINT
fk_modulesclassrooms_masterslocations1FOREIGN KEY (masterlocationid) REFERENCESmasterlocations(id) ON UPDATE CASCADE ON DELETE CASCADE,CONSTRAINT
fk_modulesclassrooms_modules1FOREIGN KEY (moduleid) REFERENCESmodules(id) ON UPDATE CASCADE ON DELETE CASCADE,CONSTRAINT
fk_modulesclassrooms_teachers1FOREIGN KEY (teacherid) REFERENCESteachers(id) ON UPDATE CASCADE ON DELETE SET NULL)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=28
;
This is "teachers" table:
CREATE TABLE
teachers(idINT(11) NOT NULL AUTO_INCREMENT,firstnameVARCHAR(250) NOT NULL COLLATE 'utf8_general_ci',lastnameVARCHAR(250) NOT NULL COLLATE 'utf8_general_ci',cvVARCHAR(500) NULL DEFAULT NULL COLLATE 'utf8_general_ci',photoVARCHAR(500) NULL DEFAULT NULL COLLATE 'utf8_general_ci',descriptionVARCHAR(1000) NULL DEFAULT NULL COLLATE 'utf8_general_ci',addressVARCHAR(250) NULL DEFAULT NULL COLLATE 'utf8_general_ci',companyVARCHAR(250) NULL DEFAULT NULL COLLATE 'utf8_general_ci',companyroleVARCHAR(250) NULL DEFAULT NULL COLLATE 'utf8_general_ci',emailVARCHAR(100) NULL DEFAULT NULL COLLATE 'utf8_general_ci',phoneVARCHAR(100) NULL DEFAULT NULL COLLATE 'utf8_general_ci',passwordVARCHAR(500) NULL DEFAULT NULL COLLATE 'utf8_general_ci',borndateDATE NULL DEFAULT NULL,borncityVARCHAR(250) NULL DEFAULT NULL COLLATE 'utf8_general_ci',vatfcVARCHAR(20) NULL DEFAULT NULL COLLATE 'utf8_general_ci',ibancodeVARCHAR(45) NULL DEFAULT NULL COLLATE 'utf8_general_ci',roleidINT(11) NULL DEFAULT NULL,createdatDATETIME NULL DEFAULT NULL,updatedatDATETIME NULL DEFAULT NULL,deletedatDATETIME NULL DEFAULT NULL,master1VARCHAR(500) NULL DEFAULT NULL COLLATE 'utf8_general_ci',master2VARCHAR(500) NULL DEFAULT NULL COLLATE 'utf8_general_ci',modulo1VARCHAR(500) NULL DEFAULT NULL COLLATE 'utf8_general_ci',modulo2VARCHAR(500) NULL DEFAULT NULL COLLATE 'utf8_general_ci',modulo3VARCHAR(500) NULL DEFAULT NULL COLLATE 'utf8_general_ci',modulo4VARCHAR(500) NULL DEFAULT NULL COLLATE 'utf8_general_ci',PRIMARY KEY (
id) USING BTREE,INDEX
email_idx(email) USING BTREE,INDEX
fk_teachers_roles0(roleid) USING BTREE,CONSTRAINT
fk_teachers_roles0FOREIGN KEY (roleid) REFERENCESroles(id) ON UPDATE CASCADE ON DELETE SET NULL)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=387
;
This is "Moduleclassroom.cfc" model:
component extends="Model" {
function config() {
belongsTo(name = "module");
belongsTo(name = "classroom", joinType="OUTER");
belongsTo(name = "teacher", joinType="OUTER");
belongsTo(name = "secondteacher", modelName="teacher", foreignKey="secondteacherid", joinType="OUTER");
belongsTo(name = "masterlocation");
hasMany(name = "attendees");
hasMany(name = "questions");
hasMany(name = "moduledocuments");
hasMany(name = "moduleclassroomperiods");
nestedProperties(associations="moduleclassroomperiods", allowDelete=true);
}
}
In controller:
moduleclassroom=model("moduleclassroom").findByKey(key=params.key, include="teacher,secondteacher");
This is dump of "moduleclassroom":


As you can see the datas for "secondteacher" is not refer to id 109 but always to "teacher" of id 77
It is a bug or i wrong anything?
Beta Was this translation helpful? Give feedback.
All reactions