Skip to content

mapsTo don't map when chaining methods #530

@PymZoR

Description

@PymZoR

Hi,
as the title is relevant enough, this is how I produced the bug:

    var Fundation = db.define('fundation', 
        {
            id: { 
                mapsTo: 'fun_id',
                type: 'serial', 
                key: true 
            }, 

            name: { 
                mapsTo: 'fun_name',
                type: 'text', 
                size: 40  
            },

            removed: { 
                mapsTo: 'fun_removed',
                type: 'boolean',
                defaultValue: false 
            }
        }, 


        {
            collection: 't_fundation_fun',
            validations: {
                name: [
                    orm.enforce.unique('Name already taken.'),
                    orm.enforce.notEmptyString('Fundation must have name.')
                ],
            }
        }
    );  // model Fundation
    Fundation.find({ name: 'thisIsATest' }).remove(function(err) {
        console.log(err);
        done();
     }); // test

Will produce with the debug flag:

(orm/mysql) SELECT * FROM t_fundation_fun WHERE name = 'thisIsATest'
{ [Error: ER_BAD_FIELD_ERROR: Unknown column 'name' in 'where clause']
code: 'ER_BAD_FIELD_ERROR',
errno: 1054,
sqlState: '42S22',
index: 0 }

However, if I change the test code to:

        Fundation.one({ name: 'thisIsATest' }, function(err, testFundation) {
            testFundation.remove(function(err) {
                console.log(err);
                assert.equal(err, null);
            });
        });

Will produce the correct SQL for the find:

(orm/mysql) SELECT fun_id, fun_name, fun_removed FROM t_fundation_fun >WHERE >fun_name = 'thisIsATest'

But not for the delete ! (it should be fun_id, not id)

(orm/mysql) DELETE FROM t_fundation_fun WHERE id = 3

It seems like chaining find doesn't work weel with mapsTo, as well for using the delete method

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions