Q:

Ember.js look up a model item by name, and then add it to an existing different model hasMany record

Guys I can't get my head around it. Struggling for hours now. I have a Article model which can have multiple categories:
// parent
App.Article = DS.Model.extend({
    name: DS.attr('string'),
    category: DS.hasMany('category')
)};

// child
App.Category = DS.Model.extend({
    name: DS.attr('string')
});

Via a click on a autocomplete Component result the following action get executed:
  addCategory: function (categoryName) {
        // for the sake of simplicity a default name
        categoryName = 'car';

        // find category instance by name
        this.store.find('category').then(function(category) {
            var categoryItem = category.filterBy('name', categoryName);

            // get categories and add the category to it
            this.get('category').pushObject(categoryItem);
        });

    },

And what is the problem you should think. Well, the problem is that there is no error and everything seems to be okay. 
However:

When I look in Ember Inspector I clearly see a new Article record created and I see Categories that are already created. But no categories added to the hasMany Category record.

So the question is, how to lookup a Category item first, and then add it to the a hasMany record of an Article?
Big edit: I removed some not relevant code and text. Hope my question is more clear now.

A:

Whohoo! I can answer my own question. I have confused to use the this of the .then function. 
I also cleaned up my code a little bit to this:
addCategory: function (categoryName) {
   var self = this;

   // find category model by name
   this.store.find('category').then(function(category) {
       self.get('category').pushObject(category.findBy('name', categoryName));
   });
}

All thanks for stopping by.

