Ticket #2 (closed defect: fixed)

Opened 1 year ago

Last modified 1 year ago

Same column name in related tables bring the invalid result.

Reported by: anonymous Assigned to: uriel
Priority: major Component: GearsORM
Version: 3.0 Keywords:
Cc:

Description

For example, I create the tables named "Employee" and "Company", both has the same name column, "name".See below.

Employee = new GearsORM.Model({
  name: "Employee",
  fields: {
    name: new GearsORM.Fields.String({notNull: true}),
    company: new GearsORM.Fields.OneToMany({related: "Company"})
  }
});
Company = new GearsORM.Model({
  name: "Company",
  fields: {
    name: new GearsORM.Fields.String({notNull: true}),
    employees: new GearsORM.Fields.ManyToOne({related: "Employee"})
  }
});

And I added data to these tables.

var sony = new Company({name: "SONY"});
sony.save();

new Employee({name:"Someone", company: sony.rowid}).save();

Last, I fetch employees and show it's company name. I expect the "Someone"'s company name is "SONY", but exactly, I got "Someone"...

var employee = Employee.select().getOne();
alert(employee.company.name); <-- "Someone" displayed. "SONY" expected.

SQL generated by GearsORM is below.

SELECT Employee.rowid,Employee.name,Company.name
FROM Employee
LEFT JOIN Company ON Company.rowid = Employee.Company_id

Probrem's reason is probably "Employee.name" and "Company.name" return same column name in result set ("name").

Change History

09/17/07 23:54:56 changed by uriel

  • status changed from new to closed.
  • resolution set to invalid.

09/19/07 14:18:17 changed by uriel

  • status changed from new to assigned.

09/19/07 14:31:11 changed by uriel

  • status changed from assigned to closed.
  • resolution set to fixed.

09/23/07 09:24:32 changed by uriel

  • version set to 3.0.