gpt4 book ai didi

php - ionic 2 : marge details with same values

转载 作者:行者123 更新时间:2023-11-29 20:00:58 25 4
gpt4 key购买 nike

我有从数据库响应中获得的对象数组。每个对象都有类(class)名称、讲座名称、类(class)、时间、日期。在我的数据库中,它是一对多的关系 -> 意味着每个讲座都有很多课,所以我有讲座表和时间表。

时间表有lecture_id的foreign_key,这意味着讲座表:lecture_id(primary_key) +更多属性。时间表:id_lecture(foreign_key),id_time(primary_key) +更多属性。我做了一个查询

"SELECT * from lectures,Times where id_lecture=lecture_id";

它工作得很好,给了我我想要的结果。问题是每个讲座都有一些类(class),我想在同一个 ionic 项目中显示这些类(class)并将其合并到一个对象。换句话说,我想这样做。 enter image description here

这是我获取数据的代码

  this.coursesData.LoadLectures()
.subscribe(LectureList=> {
console.log("getLec1");
LectureList.forEach(lecture=>{
console.log(lecture);
var newLecture={
name:lecture.name,
email:lecture.email,
phone:lecture.phone ,
lesson_type:lecture.lesson_type ,
detailsHours:{'start_time':lecture.start_time,'end_time':lecture.end_time,'class':lecture.class, 'day':lecture.day},
details:lecture.details,
course_name:lecture.course_name
}
this.coursesA.push(newLecture);
this.coursesNames.push(lecture.course_name);
this.LecturesNames.push(lecture.name);
});
//this.courseSelect=this.coursesNames[0];
this.coursesAD=this.coursesA;
this.coursesNames = this.coursesNames.filter(function(elem, index, self) {
return index == self.indexOf(elem);
})
// console.log("co"+this.coursesA);


this.loader.dismiss();
//console.log(this.LecturesNames);
// return this.coursesA;

},err=>{
console.log(err);
});
}

如您所见,新讲座包含

 var newLecture={
name:lecture.name,
email:lecture.email,
phone:lecture.phone ,
lesson_type:lecture.lesson_type ,
detailsHours:{'start_time':lecture.start_time,'end_time':lecture.end_time,'class':lecture.class, 'day':lecture.day},
details:lecture.details,
course_name:lecture.course_name
}

但有很多有一些教训,所以如果我这样做,就会出现问题,因为它会重复名称。

我尝试了这种方法,但它显示错误

 public Lectures(){
console.log("getLec");
this.courseSelect='';
this.coursesNames=[];
this.LecturesNames=[];
this.coursesA=[];

this.coursesData.LoadLectures()
.subscribe(LectureList=> {
console.log("getLec1");
LectureList.forEach(lecture=>{
console.log(lecture);
var newLecture={
id:lecture.id_lecture,
name:lecture.name,
email:lecture.email,
phone:lecture.phone ,
lesson_type:lecture.lesson_type ,
detailsHours:{'start_time':lecture.start_time,'end_time':lecture.end_time,'class':lecture.class, 'day':lecture.day},
details:lecture.details,
course_name:lecture.course_name
}
console.log("de"+newLecture.detailsHours.start_time);
if(!newLecture.id){
this.coursesA[newLecture.id]=newLecture;
// this.coursesNames.push(lecture.course_name);
//this.LecturesNames.push(lecture.name);
}
else{
this.coursesA[newLecture.id].push(newLecture);
}

});
this.coursesAD=this.coursesA;

//this.courseSelect=this.coursesNames[0];

console.log(this.coursesA);
/*this.coursesNames = this.coursesNames.filter(function(elem, index, self) {
return index == self.indexOf(elem);
})
*/

// console.log("co"+this.coursesA);

this.loader.dismiss();
console.log("lets"+this.LecturesNames);
// return this.coursesA;


},err=>{
console.log(err);
});

}

我收到这个错误

TypeError: Cannot read property 'push' of undefined

有人有办法解决吗?

最佳答案

我认为您可以使用子数组按名称(或 course_name)对类(class)进行分组。您可以将 newLecture 推送到 courseA 内,而不是将其推送到 courseA[newLecture.name] 内。

因此,您将得到如下内容:

{
"JAVA Course": [
{ lecture1 },
{ lecture2 }
}],
"JS Course": [
{ lecture3 },
{ lecture4 }
}]
}

然后,在您的模板中您可以执行以下操作:

<ion-item ng-repeat="(key, value) in obj">
<p>{{key}}</p> <!-- example: JAVA Course -->
<div ng-repeat="(subkey, subvalue) in value">
{{subvalue}} <!-- example: lecture hours -->
</div>
</ion-item>

关于php - ionic 2 : marge details with same values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40532235/

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