|
1、Baas中选择实现,查询有两种选择
action:common/CRUD/sqlQuery和action:common/CRUD/query
这两种实现有何差异。是不是要看源码啊?从效果上看,似乎第一种在加载时就会执行SQL语句中的内容,但是第二种要使用filter触发时才会执行。(请问是不是这样子的?)
\demo\baas\complexData下的例子使用的是第一种实现方式,参数传入使用的是SQL,似乎为了避免刚开始加载出现问题,引入了一个开关量useSearch,并且在参数列表中有个var-useSearch,赋初始值为0。
仿照\demo\baas\complexData写了查询代码如下:
=========================
后台:
例子查询代码:
SELECT u.fID, u.fName,
u.fPhoneNumber, u.fAddress, COUNT(ord.fID) AS orderCount FROM
takeout_user u LEFT JOIN takeout_order ord ON u.fID = ord.fUserID
WHERE (0=:useSearch) or (u.fID LIKE :search OR u.fName LIKE :search
OR u.fPhoneNumber LIKE :search OR u.fAddress LIKE :search) GROUP BY
u.fID, u.fName, u.fPhoneNumber, u.fAddress
我的代码:
SELECT b.fBuild FROM view_build b WHERE (0=:useSearch) or (b.fVillage =:village) ORDER BY b.fBuild ASC (也加了参数var-useSearch)
--------------------------------------------------
前台代码:
例子代码:
Model.prototype.userDataBeforeRefresh = function(event){
var searchVal = this.getElementByXid("searchInput").value;
var data = event.source;
data.filters.setVar("search",'%'+searchVal+'%');
data.filters.setVar("useSearch",searchVal?1:0);
};
我的代码:
Model.prototype.baasData3BeforeRefresh = function(event){
var param123 = this.getElementByXid("select1234").value;
var data = event.source;
data.filters.setVar("village", param123);
data.filters.setVar("useSearch",param123?1:0);
};
我的页面只要一打开,按道理应该没有执行到Model.prototype.baasData3BeforeRefresh ,因为这个是要触发的,结果就出现了,请问是怎么回事?
|
-
|