Модели следующие:
car
- id(number),brand(String),model(String),color(String)
bookingCar
- id (number),carId (number),startDate(date),endDate(date),location(string),carType(Sring)
Отношения:
car has many bookingCar (foreign key: carId)
bookingCar belongs to car (foreign key: carId)
Теперь я хочу отфильтровать данные из car
модели, по которой не выполняется бронирование в выбранную датупериод и местоположение, carType.
, поэтому я ссылаюсь на удаленный метод, и я использовал lb remote-methode
.и на основе этой ссылки введите описание ссылки здесь Я написал метод
'use strict';
module.exports = function(Bookingcar) {
var BookingCar = require('./booking-car.json');
BookingCar.findCar = function(location, startDate, endDate, carType, callback) {
var results;
// TODO
const d1 = startDate.split("-");
const d2 = endDate.split("-");
var c = dateCheck.split("-");
var from = new Date(d1[2], parseInt(d1[1])-1, d1[0]);
var to = new Date(d2[2], parseInt(d2[1])-1, d2[0]);
var check = new Date(c[2], parseInt(c[1])-1, c[0]);
if((check <= to && check >= from)){
var filter = { include: [
'brand',
'model',
'color',
'carType',
'revenue_li_cpy',
'revenue_li_ex_date',
'ins_cpy',
'ins_cpy',
'ins_exp_date',
'car_photo',
'ownerNICId_companyName'],
fields: [
'id','brand',
'model',
'color',
'carType',
'revenue_li_cpy',
'revenue_li_ex_date',
'ins_cpy',
'ins_cpy',
'ins_exp_date',
'car_photo',
'ownerNICId_companyName'], where: { and: [{ location: location }, { carType: carType },{ startDate: d1 },{ endDate: d2 }, { status: 1 }] } };
}
Bookingcar.find(location, startDate, endDate, carType, {
include: [{
relation: 'car'}
]},
function(err, results) {
if (err)
console.log(err);
else {
callback(null, results);
}
});
};
Bookingcar.remoteMethod(
'findCar', {
http: {path: '/findCar', verb: 'get'},
accepts: [
{arg: 'location', type: 'string'},
{arg: 'startDate', type: 'date'},
{arg: 'endDate', type: 'date'},
{arg: 'carType', type: 'string'}
],
returns: [
{ arg: 'id', type: 'number', description: 'id', required: true, root: true },
{ arg: 'brand', type: 'string', required: true, root: true },
{ arg: 'model', type: 'string', required: false, root: true },
{ arg: 'color', type: 'string', required: true, root: true },
{ arg: 'carType', type: 'string', required: false, root: true },
{ arg: 'regiNo', type: 'string', required: true, root: true },
{ arg: 'revenue_li_cpy', type: 'string', required: false, root: true },
{ arg: 'revenue_li_ex_date', type: 'date', required: true, root: true },
{ arg: 'ins_cpy', type: 'string', required: false, root: true },
{ arg: 'ins_cpy', type: 'string', required: true, root: true },
{ arg: 'ins_exp_date', type: 'date', required: false, root: true },
{ arg: 'car_photo', type: 'string', required: true, root: true },
{ arg: 'ownerNICId_companyName', type: 'string', required: false, root: true },
]
}
);
};
, но он работает, и я сомневаюсь, является ли BookingCar.findCar = function(location, startDate, endDate, carType, callback)
правильным или неправильным.потому что он ссылается только на один аргумент ..
Пожалуйста, дайте идею или подсказку, чтобы решить мою проблему