комплексы поле Манипуляции в Jaydata
У меня есть структура базы данных, как это. Каждый сотрудник принадлежит отделу, каждый запас принадлежит отделу, у каждого отдела есть список сотрудников и список связанных с ним акций. Я инициализировать базу данных с этим кодом:
$data.define("Org.Department",{
ID: {key: true, type: "integer", computed: true},
DepartmentID: {type: "integer", required: true},
DepartmentName: {type: "string", required: true},
Employee:{type: Array, elementType: "Org.Employee", navigationProperty:"Department"},
Stock:{type: Array, elementType: "Org.Stock", navigationProperty:"Department"}
});
$data.define("Org.Employee",{
ID: {key: true, type: "integer", computed: true},
Name: {type: "string", required: true},
DepartmentID: {type: "integer", required: true},
Department: {type: "Org.Department", inverseProperty: "Employee"}
});
$data.define("Org.Stock",{
ID: {key: true, type: "integer", computed: true},
DepartmentID: {type: "integer", required: true},
Description: {type: "string"},
NumItems: {type: "integer", required: true},
Department: {type: "Org.Department", inverseProperty: "Stock"}
});
$data.EntityContext.extend("Company",{
Employees: {type: $data.EntitySet, elementType: Org.Employee},
Departments: {type: $data.EntitySet, elementType: Org.Department},
Stocks: {type: $data.EntitySet, elementType: Org.Stock}
});
var x= new Company({
provider: "webSql",
databaseName: "DB",
version: 1,
dbCreation: $data.storageProviders.DbCreationType.DropAllExistingTables
});
Что я хочу сделать, это добавление элементов в эту базу данных, но я должен сделать правильные соединения. Я имею в виду правильные подключения, я хочу запросить имя всех сотрудников, чей запрос требует от меня поискать имя отдела и взять список сотрудников из него, а затем перечислить их имена. Я пробовал много вещей, но он полностью терпит неудачу. Например:
x.onReady(function(){
var dep;
x.Departments.filter(function(res){
return res.DepartmentID==4;
}).forEach(function(it){
dep=it;
});
console.log(dep);
var emp=new Org.Employee({
Name: 'Employee1',
DepartmentID: 4,
Department:dep
});
x.Employees.add(emp);
x.Employees.saveChanges();
});
Который не вносит правильную информацию Департамента в сотрудника. Когда я запрашиваю поле Департамента Employee1, я получаю undefined.
Это также не:
x.Employees.add({Name:"Employee1",DepartmentID:4});
Все запросы успешно вставляет некоторые данные в базу данных, но их поле Отдел пуст, которая побеждает все цели с реляционной базой данных.
Glorious благодаря вам! – AutomaticHourglass
Я сделал функцию, которая берет объект сотрудника и вставляет его в базу данных, благодаря вам. Но он вызывает несколько ошибок, когда я называю их несколькими. Как я могу вставить несколько записей, используя только одну функцию, которая принимает список сотрудников? – AutomaticHourglass
показать нам код –