2016-05-09 6 views
2

Ich habe 2 Models "Jobdetails" und "Jobvenues", die eine "HasManyThrough" Beziehung Durch Modell "JobDetailsHasVenues"Loopback HasManyThrough Beziehung arbeiten nur einen Weg

Jobdetails Modell hat:

{ 
"name": "Jobdetails", 
"properties": { 
"jobname": { 
    "type": "String", 
    "required": true, 
    "length": 250, 
    "precision": null, 
    "scale": null, 
    "mysql": { 
     --- 
    }, 
    "_selectable": false 
} 
}, 
"relations": { 
"jobvenues": { 
    "type": "hasMany", 
    "model": "Jobvenues", 
    "foreignKey": "jobdetailsId", 
    "through": "JobdetailsHasVenues" 
} 
} 

Und Jobvenues Modell wie:

{ 
"name": "Jobvenues", 
"properties": { 
"storename": { 
    "type": "String", 
    "required": true, 
    "length": 200, 
    "precision": null, 
    "scale": null, 
    "mysql": { 
    ---- 
    }, 
    "_selectable": false 
} 
} 
"relations": { 
"jobdetails": { 
    "type": "hasMany", 
    "model": "Jobdetails", 
    "foreignKey": "venueId", 
    "through": "JobdetailsHasVenues" 
    } 
} 

Das Durch Modell wird als

definiert

Als ich

Jobdetails.find({ 
     filter:{ 
     where:{and:[{'status':{neq:3}},{'id':{neq:jobId}}]}, 
     include:'jobvenues' 
      } 
     }) 

Die jobvenues Abfrage ist im Ergebnis nicht vorhanden. Aber wenn ich

Jobvenues.find({ 
     filter:{ 
     where:{venueid:jobdetailsId}}]}, 
     include:'jobdetails' 
      } 
     }) 

Im Ergebnis abfragen kann ich im Zusammenhang Jobdetails sehen .....

Ich habe einschließlich der Dokumentation viele Beiträge refered bei Strong Loop

Hier Stackoverflow

Aber kippe bekomme meinen Code richtig funktioniert .....

Noch eine Beobachtung ... Wenn ich über Loop abfrage zurück Explorer und quer durch GET/Jobdetails/{id}/jobuences - Ich kann die damit verbundenen Jobs sehen.

Aber wenn Sie "include filter" in der Abfrage GET/Jobdetails/{id} verwenden, bekomme ich ein leeres Array von Jobs.

Antwort

0

Versuchen Sie, keythrough

"jobvenues": { 
    "type": "hasMany", 
    "model": "Jobvenues", 
    "foreignKey": "jobdetailsId", 
    "through": "JobdetailsHasVenues", 
    "keyThrough": "venueId" 
} 


"jobdetails": { 
    "type": "hasMany", 
    "model": "Jobdetails", 
    "foreignKey": "venueId", 
    "through": "JobdetailsHasVenues", 
    "keyThrough": "jobdetailsId" 
}