database - 如何根据另一条记录找到一条记录?
问题描述
我正在从数据库中检索一些值,如下所示:
var data = new Ext.create('Ext.data.Store',{
fields: [
{name:'code',mapping: 'CODE'},{name:'code_company',mapping: 'COD_COMP'},
{name:'descriptionCompany',mapping: 'DESC_COMP'}, {name:'group',mapping: 'GRP_GRP'},
],
autoLoad: false,
remoteSort: true,
proxy: {
type: 'ajax',
url: 'index.php?Control=GeneralData&Accion=companyData', // this is the Store Procedure from I am getting the data
},
});
data.load();
我从数据库中得到这个:
GRP_GRP | CODE | COD_COMP | DESC_COMP
1 1 1 APPLE
1 1 2 MICROSOFT
1 1 3 HP
1 2 1 SAMSUNG
1 2 2 NOKIA
1 2 3 BLUE
到目前为止一切都很好。当我试图从该响应中获取特定记录时,我的问题就出现了。
我的意思是,我试图从这样的响应中获取描述(诺基亚):
var record = data.findRecord('code_company', 2);
该代码的输出是“MICROSOFT”而不是我想要的诺基亚,但我已经知道为什么会发生这种情况。我需要在搜索中更加具体,但这就是我不知道该怎么做。
我在一个表单中设置了 2 个组合框,我从中获取组和从用户选择的代码。我将这些值保存在 2 个变量中。
现在我需要一段代码,它允许我根据用户选择的组和代码查找记录。
例如,如果用户选择了组 1 和代码 2,我希望能够在这些参数中显示任何记录
解决方案
您可以将QueryBy
其与过滤功能一起使用,以便获取与此功能匹配的所有记录。
var records = store.queryBy(function(record, id) {
return (record.get('code_company') == 2 &&
record.get('code') == 2);
}).items;
然后你可以让每条记录为每个
records.forEach(record=>{
console.log('Company Name', record.get('descriptionCompany'));
})
推荐阅读
- php - 循环遍历多维数组并为每个分类添加税收查询
- git - 当在不同的分支中修改相同的文件时,git 应该给我操作冲突
- reactjs - 在 IE 中对 MS GRAPH 进行身份验证时出现 MSAL 错误
- c - 如何找出一个单词是否在一行内?
- reactjs - 如何在 TypeScript React 中隐式解决“任何”类型错误
- spring-boot - 当引发 InternalAuthenticationServiceException 时,如何让 Spring Security 返回 500 而不是 403
- debugging - Windbg TTD 自动化
- java - 无限循环:如果您输入数字 1、3、5,我的 Mastermind 程序会创建一个无限循环
- postgresql - 通过 syslog 通知特定第三方以获取特定 PostgreSQL 条目
- r - 如何根据特定的外部值向量拆分 iris 数据集?