原因:有些逻辑,比如多表关联,或者其他特殊sql语句需要自定义sql语句才能够解决,平台提供了sqlQuery action可以设置sql语句,传参有以下两种方式
解决方案:
1、:name—-一个:的方式,这种是值参数,类似于我们通常的的sql中的?;
如:select * from abc where name=:name
前端设置通过data设置name=’liming’
data.filters.setVar(“name”,’liming’);
最终服务端按 select * from abc where name=?,’liming’执行
在baas设计器中设置条件,参考/Baas/justep/netease.service.m action queryNetease_user 定义了参数condition ,值为fID=:usera
添加参数 var-usera
前端设置 data.filters.setVar(“usera”,’123456′);
最终也会在标准的queryAction 中拼接这个where条件
2、::filter—-两个::的方式,这种参数将会拼到sql中去
如:select * from a where ::filter ::orderBy
前端设置通过data设置filter
data.setFilter(“filter1″,”name=’liming'”);
data.setOrderBy(“age”,0);
最终服务端按 select * from abc where name=’liming’ order by age DESC执行
评一波