gpt4 book ai didi

backbone.js - 如何使用 Alloy (appcelerator) 查询(where,inner join)?

转载 作者:行者123 更新时间:2023-12-04 03:08:21 25 4
gpt4 key购买 nike

我正在研究:

Application Mobile with Alloy
Titanium SDK version: 2.1.3 (10/02/12 16:16 15997d0)
iPhone Device family: universal
iPhone SDK version: 6.0
iPhone simulated device: iphone
Detected compiler plugin: ti.alloy/1.0

我创建了两个模型:

alloy generate model met sql met_id:int libelle:string famille_id:int
alloy generate model famille sql famille_id:int libelle:string

并填写了以下数据:

var mets = Alloy.createCollection('Met')
var met = Alloy.createModel("Met",{met_id:1,libelle:"Salade de Chèvre Chaud",famille_id:1});mets.add(met);met.save();
var met = Alloy.createModel("Met",{met_id:2,libelle:"Salade de Chèvre Chaud",famille_id:2});mets.add(met);met.save();
var met = Alloy.createModel("Met",{met_id:3,libelle:"Salade de Chèvre Chaud",famille_id:3});mets.add(met);met.save();
var met = Alloy.createModel("Met",{met_id:4,libelle:"Salade de Chèvre Chaud",famille_id:4});mets.add(met);met.save();
var met = Alloy.createModel("Met",{met_id:5,libelle:"Salade de Chèvre Chaud",famille_id:1});mets.add(met);met.save();
var met = Alloy.createModel("Met",{met_id:6,libelle:"Salade de Chèvre Chaud",famille_id:2});mets.add(met);met.save();
var met = Alloy.createModel("Met",{met_id:7,libelle:"Salade de Chèvre Chaud",famille_id:3});mets.add(met);met.save();
var met = Alloy.createModel("Met",{met_id:8,libelle:"Salade de Chèvre Chaud",famille_id:4});mets.add(met);met.save();
var met = Alloy.createModel("Met",{met_id:9,libelle:"Salade de Chèvre Chaud",famille_id:1});mets.add(met);met.save();
var familles = Alloy.createCollection('Famille')
var famille = Alloy.createModel("Met",{famille_id:1,libelle:"famille 1");familles.add(famille);famille.save();
var famille = Alloy.createModel("Met",{famille_id:2,libelle:"famille 2"});familles.add(famille);famille.save();
var famille = Alloy.createModel("Met",{famille_id:3,libelle:"famille 3"});familles.add(famille);famille.save();
var famille = Alloy.createModel("Met",{famille_id:4,libelle:"famille 4"});familles.add(famille);famille.save();

现在,我想获取所有 famille_id = 1 的“met”。

var mets = Alloy.createCollection('Met')
mets.where({famille_id:1}).

我的第一个问题是mets.length = 0。有人知道为什么吗?第二个问题是如何在 metfamille_id 之间创建一个inner join

有关信息,如果我这样做:

var mets = Alloy.createCollection('Met')
mets.fetch();
for(var i = 0;i< mets.length;i++)
{
var args = {
plat : mets.models[i].attributes.libelle,
met_id : mets.models[i].attributes.met_id
}
var rowPlat = Alloy.createController('rowPlat', args).getView();
data.push(rowPlat);
}

我将所有数据都放在 tableView 中,它工作正常。

最佳答案

您的问题是您没有获取任何数据。所以 where 不会返回任何记录。

所以首先初始化你的集合:

var mets = Alloy.createCollection('Met')
mets.fetch();

然后在需要时根据您的输入过滤数据。

mets.where({famille_id:1})

因为我不使用合金,所以我没有对此进行测试。但是 Alloy.createCollection 只是返回一个 Backbone.Collection s

关于backbone.js - 如何使用 Alloy (appcelerator) 查询(where,inner join)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13361124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com