У меня есть модель cruise
которая hasMany trips
. A trip
хранит дату начала и окончания. Я бы хотел отфильтровать cruises
, которые начинаются с earliestStartDate
и заканчиваются на latestEndDate
.Фильтр в диапазоне дат
приложение/модели/cruise.js
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
trips: DS.hasMany('trip', { async: true })
});
приложение/модели/trip.js
import DS from 'ember-data';
export default DS.Model.extend({
starts_on: DS.attr('date'),
ends_on: DS.attr('date')
});
приложение/шаблоны/index.hbs
{{date-picker date=earliestStartDate valueFormat='YYYY-MM-DD'}
{{date-picker date=latestEndDate valueFormat='YYYY-MM-DD'}}
Как я могу изменить filteredCruises
в этом контроллере для фильтрации cruises
, которые имеют поездки в течение заданных дат?
приложение/контроллеры/index.js
[...]
filteredCruises: function() {
var earliestStartDate = this.get('earliestStartDate');
var latestEndDate = this.get('latestEndDate');
var cruises = this.get('model.cruises');
return cruises;
}.property('model.cruises','earliestStartDate','latestEndDate'),
[...]