aor-loopback icon indicating copy to clipboard operation
aor-loopback copied to clipboard

Problem to use a partial data info in where filter

Open flaviofagundes opened this issue 7 years ago • 2 comments

I suggest the code block below to add 'like' statement:

if (query['where'] ) { var json = query['where']; query['where'] = {}; Object.keys(json).forEach(function(key) { query['where'][key] = { "like" : json[key], "options":"i" } ; }); }

in src/index.js after

query['where'] = {...params.filter}; //line 41

flaviofagundes avatar Dec 22 '17 18:12 flaviofagundes

In MySql i have to use

if (query['where']) { var json = query['where']; query['where'] = {}; Object.keys(json).forEach(function (key) { query['where'][key] = { "regexp": '/^'+json[key]+'/i' }; }); }

flaviofagundes avatar Dec 29 '17 11:12 flaviofagundes

Hola, en Admin on rest tu puedes decorar tu restClient con un filtro


const addFiltersCapabilities = requestHandler => (type, resource, params) => {

  switch (type) {
    case GET_LIST:
      if (
        resource === 'Notices' &&
        params.filter.name !== undefined &&
        type === 'GET_LIST'
      ) {
        return requestHandler('GET_LIST', 'Notices', {
          pagination: {},
          sort: {},
          filter: { name: { regexp: `.*${params.filter.name}.*` } }
        });
      }
      return requestHandler(type, resource, params);
    default:
      return requestHandler(type, resource, params);
  }
};
export default addFiltersCapabilities;

so

<Admin
   restClient={addFiltersCapabilities(loopbackRestClient(API_URL))}
 >

espero sirva de ayuda

Neira1991 avatar Mar 17 '18 22:03 Neira1991