Skip to content

findBySmth has doubles #846

@naturalcod

Description

@naturalcod

Hi. i broke my head.

I have this:
this.req.models.Tour.findByInfo({ Charter: this.req.query.Charter, }, { autoFetch: false }).where("Active = 1",(err, tours) => { this.res.end(JSON.stringify(tours)) })

This is what I get. At the output, I get:

[ { "Title": "Тур в горы", "Rating": 9, "Description": "Ахуенный тур", "Active": true, "MinDate": null, "MaxDate": null, "id": 1, "owner_id": 1, "town_id": 1 }, { "Title": "Тур в горы", "Rating": 9, "Description": "Ахуенный тур", "Active": true, "MinDate": null, "MaxDate": null, "id": 1, "owner_id": 1, "town_id": 1 }, { "Title": "Тур в горы", "Rating": 9, "Description": "Ахуенный тур", "Active": true, "MinDate": null, "MaxDate": null, "id": 1, "owner_id": 1, "town_id": 1 }, { "Title": "Тур в горы", "Rating": 9, "Description": "Ахуенный тур", "Active": true, "MinDate": null, "MaxDate": null, "id": 1, "owner_id": 1, "town_id": 1 } ]

I understand what the problem is, so JOIN works. SQL:

SELECT t1.Title, t1.Rating, t1.Description, t1.Active, t1.MinDate, t1.MaxDate, t1.id, t1.owner_id, t1.town_id FROM Tour t1 JOIN TourInfo t2 ON t2.tour_id = t1.id WHERE (t2.Charter = '1' AND t2.Price BETWEEN 0 AND 999999999) AND (Active = 1)

BUT i NEED so SQL:

SELECT DISTINCT(t1.id), t1.Title, t1.Rating, t1.Description, t1.Active, t1.MinDate, t1.MaxDate, t1.owner_id, t1.town_id FROM Tour t1 JOIN TourInfo t2 ON t2.tour_id = t1.id WHERE (t2.Charter = '1' AND t2.Price BETWEEN 0 AND 999999999) AND (Active = 1)

OR

SELECT t1.id, t1.Title, t1.Rating, t1.Description, t1.Active, t1.MinDate, t1.MaxDate, t1.owner_id, t1.town_id FROM Tour t1 JOIN TourInfo t2 ON t2.tour_id = t1.id WHERE (t2.Charter = '1' AND t2.Price BETWEEN 0 AND 999999999) AND (Active = 1) GROUP BY t1.id

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions