我想從firebase返回所有符合今天日期的預訂。Firebase查詢得到今天的預訂傳回陣列
我在我的html中使用* ngFor命令來打印出所有返回的訂單。
在firebase數據庫中,我保存了7個預訂。 7箇中有2個是今天的日期。所以全部7個都在屏幕上打印出來。但是,當我點擊我的按鈕來運行以下功能時,我只想顯示今天的預約日期。
todayBookings() {
this.ordersData = this.af.list('/orders', {
query: {
orderByChild: 'start',
// equalTo: today
}
});
this.ordersData.subscribe((res) => {
this.orders = res;
});
this.orders.forEach(order => {
var d = new Date();
var curr_date = ("0" + (d.getDate() + 0)).slice(-2);
var curr_month = ("0" + (d.getMonth() + 1)).slice(-2)
var curr_year = d.getFullYear();
// get today's date
var today = curr_year + "-" + curr_month + "-" + curr_date;
// get date of booking
var dateOfBooking = order.start.substr(0, 10);
if (dateOfBooking == today) {
this.todaysOrders = order;
var index = this.orders.indexOf(order, 0);
if (index > -1) {
this.orders.splice(index, 1);
}
// console.log(this.orders);
// console.log(this.todaysOrders);
}
});
this.orders = this.todaysOrders
console.log(this.orders);
}
當我在控制檯登錄以下內容:console.log(this.todaysOrders);
我在控制檯中看到2個預約今天:
不幸的是,我不知道現在該怎麼走this.todaysOrders並將其傳遞迴this.orders。
我嘗試以下:
this.orders.push(this.todaysOrders);
但它帶回了所有的條目,並附上今天的預訂列表,而不是7條返回帶來了9.(所有預訂+今天的2日預訂)。
訂單數據庫
orders
-Ko2a0zwYPQc-ocfJ1cF
createdAt: 1499003887000
orderId: 34681
partySize: "1"
requirements: "none"
start: "2017-07-02T15:00:44+01:00"
status: "Accepted"
type: "tablebooking"
+ userDetails
userId: "CQbDG6H8ENStlZiaNOGNsvbw2GL2"
-Ko2ay19E7b17UhZ9HAf
-Ko2pmavUZNTKdsr0pv6
-Ko2t6cm35uOtiROeghG
-Ko2tn6iRmkG7Y-OfAcJ
-Ko2u5FrD5ZnIphL9Vno
-KoBtilv2-dj-XmQSQBf
這是全班同學。我已經刪除了我用於頁面上其他內容的其他功能。
import { Component, OnInit, AfterViewInit, ElementRef, ViewChild, OnDestroy, OnChanges } from '@angular/core';
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2/database';
import { Router, ActivatedRoute } from "@angular/router";
import { NgForm } from '@angular/forms';
import { AngularFireAuth } from 'angularfire2/auth';
import * as firebase from 'firebase';
import { ToastrService } from 'toastr-ng2';
import * as moment from 'moment';
@Component({
selector: 'app-calendar',
templateUrl: './calendar.component.html',
styleUrls: ['./calendar.component.scss']
})
export class CalendarComponent implements OnInit, AfterViewInit, OnChanges {
order: Array<any>;
orders: Array<any>;
ordersData: FirebaseListObservable<any>;
todaysOrders: Array<any>;
color: any;
orderId: any;
@ViewChild('fullcalendar') fullcalendar: ElementRef;
constructor(public af: AngularFireDatabase, public toastr: ToastrService, public router: Router, public authentication: AngularFireAuth) {
this.ordersData = af.list('/orders', {
query: {
orderByChild: 'start',
}
});
this.ordersData.subscribe((res) => {
this.orders = res;
});
}
//Get Todays Bookings
todayBookings() {
this.ordersData = this.af.list('/orders', {
query: {
orderByChild: 'start',
// equalTo: today
}
});
this.ordersData.subscribe((res) => {
this.orders = res;
});
this.orders.forEach(order => {
var d = new Date();
var curr_date = ("0" + (d.getDate() + 0)).slice(-2);
var curr_month = ("0" + (d.getMonth() + 1)).slice(-2)
var curr_year = d.getFullYear();
// get today's date
var today = curr_year + "-" + curr_month + "-" + curr_date;
// get date of booking
var dateOfBooking = order.start.substr(0, 10);
if (dateOfBooking == today) {
this.todaysOrders = order;
var index = this.orders.indexOf(order, 0);
if (index > -1) {
this.orders.splice(index, 1);
}
// console.log(this.orders);
console.log(this.todaysOrders);
}
});
// this.orders = this.todaysOrders
// console.log(this.orders);
}
}
我的數據庫是火力不知道你的意思是哥們 –
向我們展示什麼是你的數據庫是什麼,佈局/結構 – theblindprophet
更新主貼:) –