2016-03-26 3 views
0

У меня есть таблица contact db. Employee модель наследует от контакта.scope в унаследованной модели

Если у меня есть Сотрудники GET/, он возвращает все контакты.

Как мне настроить мой employee.json, если я хочу вернуть только контакты с partnerId = 1?

{ 
    "name": "employee", 
    "base": "contact", 
    "strict": false, 
    "idInjection": false, 
    "options": { 
    "validateUpsert": true, 
    "postgresql": { 
     "schema": "public", 
     "table": "contact" 
    } 
    }, 
    "scope": { 
    "where": { 
     "partnerId": 1 
    } 
    }, 
    //... 
} 

Debug говорит, призывающие сотрудников GET/делает следующий запрос:

SELECT "name", "position", "email", "password", "id" FROM "public"."contact" ORDER BY "id" 

Это не похоже добавляется, что сфера.

модели/partner.json

{ 
    "name": "partner", 
    // ... 
    "properties": { 
    "name": { 
     "type": "string", 
     "required": true 
    }, 
    // ... 
    }, 
    "validations": [], 
    "relations": { 
    "contacts": { 
     "type": "hasMany", 
     "model": "contact" 
    } 
    //... 
    }, 
    "acls": [], 
    "methods": {} 
} 

ответ

0

Попробуйте использовать где фильтр, либо в REST API

/employees?filter[where][partnerId]=1 

или в вашем Employee.js

Employee.find({ where: {partnerId:1} }); 

https://docs.strongloop.com/display/APIC/Where+filter

+0

Ваше первое решение не то, что я ищу. Конечная точка сотрудников всегда должна возвращать отфильтрованные результаты. Я уже пробовал ваше второе предложение, но я получаю: Ошибка: не могу вызвать employee.find(). Метод find не был настроен. PersistedModel не был правильно привязан к DataSource! – user3568719

Смежные вопросы