从查询

时间:2018-06-14 20:53:08

标签: google-app-maker

我有一个数据模型,Material,它有相关的chemicalProperty模型。每种材料可具有几种化学性质。 我希望用户能够基于现有材料创建新的材料记录,并同时创建其相关化学品记录的副本。

我知道如何从数组创建多个记录,我知道如何进行查询。 有没有办法从查询中创建数组? 还是有另一种方法可以复制几个记录来改变过程中的forgein键吗?

这是我现在的代码。

感谢任何帮助。



function duplicateChemicalProperties(oldMaterialId, newMaterialId) {
   
/* var query = app.models.Propiedad_Quimica.newQuery();
*  query.filters.Material_fk._equals = oldMaterialId;
*  var recordData = query.run()[0];*/
  
  var recordData = [
   ["1",new Date,userId,new Date,userId,"H2O",,"2",,".5","algun tipo de tolerancia","comentarios"],
   ["2",new Date,userId,new Date,userId,"Algodon de azucar ",,"6",,"10","tolerancia","Notas"]
   ];

  var records = [];
  for (var i = 0; i < recordData.length; i++) {    
    var record = app.models.Propiedad_Quimica.newRecord();
    record.Material_fk =  newMaterialId; 
    record.Fecha_Creacion = recordData[i][1];
    record.Usuario_Creacion = recordData[i][2];
    record.Fecha_Edicion = recordData[i][3];
    record.Usuario_Edicion = recordData[i][4];
    record.Analisis =  recordData[i][5];
    record.P_Min = recordData[i][6];
    record.P_Max = recordData[i][7];
    record.P_Tipico = recordData[i][8];
    record.Tolerancia = recordData[i][9];
    record.Tipo_de_tolerancia = recordData[i][10];
    record.Comentarios = recordData[i][11];


    records.push(record);
  }
  app.saveRecords(records);
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

这应该有效

function duplicateChemicalProperties(oldMaterialId, newMaterialId) {
  var query = app.models.Propiedad_Quimica.newQuery();
  query.filters.Material_fk._equals = oldMaterialId;
  var existingRecords = query.run();

  var newRecords = [];

  for (var i = 0; i < existingRecords.length; i++) {
    var existingRecord = existingRecords[i];
    var newRecord = app.models.Propiedad_Quimica.newRecord();

    newRecord.Material_fk =  newMaterialId;
    newRecord.Fecha_Creacion = existingRecord.Fecha_Creacion;
    newRecord.Usuario_Creacion = existingRecord.Usuario_Creacion;
    ...

    newRecords.push(newRecord);
  }

  app.saveRecords(newRecords);
}

根据数据流,可以使用prefetchesModels Metadata API

优化算法