У меня есть две модели и один вид, но я не могу найти правильный способ, как combine/join
моделей.
Обе модели Sproutcore (данные сотрудника) имеют атрибут function description
. Но используемая в настоящее время модель function description
устарела, поэтому мне нужно использовать function description
другой модели.
functieLabel: function(){
var bsnInt = parseInt(this.get('bsn'));
if (SC.none(bsnInt)) return 'loading...';
//var query = SC.Query.local(App.Medewerker, { conditions: 'bsn = bsnParam'}, {parameters: bsnParam = bsnInt});
var query = SC.Query.local(App.Medewerker, { conditions: 'bsn = %{bsnParam}'}, {parameters: { bsnParam: bsnInt } });
var results = App.store.find(query);
SC.info('results: length=%@', results.length());
SC.info('functie: functie=%@',results.objectAt(0).get("functie"))
var functie = results.objectAt(0).get("functie");
return functie
}.property('functieLabel'),
Я расширил MedewerkerDetailInfo вычисленным свойством functieLabel.
Но запрос не правильный, то есть все записи возвращаются. Предложения? Заранее спасибо.
App.MedewerkerDetailInfo = SC.Record.extend({
..
functieLabel: function() {
..
}.property('functieLabel'),
..
App.Medewerker = SC.Record.extend({
..
functie: SC.Record.attr
Этот работает, как и ожидалось:
functieLabel: function(){
var bsnInt = parseInt(this.get('bsn'));
if (SC.none(bsnInt)) return 'loading...';
var query = SC.Query.local(App.Medewerker, {conditions: "bsn = %@", parameters: [bsnInt]});
var results = Sea.store.find(query);
var lengte = results.length()
if (lengte = 0){
return "onbepaald".toString()
}
else {
return results.getEach("functie").toString()
}
}.property('bsn'),