javascript - Multiple includes on different depths in a LoopBack/Node.js query -
i'm trying load object on node.js loopback server , want load multiple related objects in same query. these related objects on different depths. query:
/api/myusers/114?filter[include][institutes]=institute&filter[include]=departments&filter[include]=profiles
notice [institutes]=institute have 2 levels , departments , profiles one.
this returns me error: 500 internal server error. error: relation "0" not defined user model.
on node.js debug noticed final json query generated seems wrong:
{ include: { '0': 'departments', '1': 'profiles', institutes: 'institute' } }, ... }
here model myuser:
{ "name": "myuser", "plural": "myusers", "base": "user", "idinjection": true, "options": { "validateupsert": true }, "mixins": { "versioning": true, "tenant": true }, "properties": { "name": { "type": "string", "required": true }, "email": { "type": "string" } } "validations": [], "relations": { "departments": { "type": "hasmany", "model": "userdepartment", "foreignkey": "user_id" }, "institutes": { "type": "hasmany", "model": "userinstitute", "foreignkey": "user_id" }, "profiles": { "type": "hasmany", "model": "userprofile", "foreignkey": "user_id" }, }, "acls": [], "methods": {} }
has else faced problem? loopback bug? if so, how can turn around solution?
500 internal server error. error: relation "0" not defined user model.
this error says user model not have relation called departaments. in definition of user model, make sure added relation departaments model. (by way, if departaments
english word, has spelling problem, departments
correct.)
as link says:
an include filter enables include results related models in query, example, models have belongsto or hasmany relations, optimize number of requests.
this link can define relation model:
if using built-in user model, can extend below link says:
https://loopback.io/doc/en/lb3/extending-built-in-models.html
edit after comment:
one more explanation filters:
the meaning of filter[include][institutes]=institute filter is:
include 'institutes' relation of user , include 'institute' relation of 'institutes'. tested feature in 1 of projects , works fine.
Comments
Post a Comment