Skip to content

mapsTo don't map when chaining methods #530

Description

@UnexpectedLobster

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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