Проблема с Sequelize ORM, он использует мой URL-путь в router.get ('/ urlpath' ...) как часть SQL-запроса к БД - PullRequest
0 голосов
/ 23 января 2019

В моем приложении (Node.js + Express) я устанавливаю маршруты.Мне нужно установить два маршрута с помощью метода get.Я использую sequelize ORM для запросов к базе данных MySQL.В первом маршруте get все работает как положено.Sequelize создает sql-запрос для меня, и все работает, как и ожидалось ...

Но проблема возникает во втором маршруте получения, где я использую тот же код просто с другим URL для метода get.Sequelize на этот раз создаёт немного другой SQL-запрос, и в качестве ответа я получаю пустой массив [].

Проблема очевидна в конце второго SQL-запроса: ==> WHERE student. id= 'best'; <== он использует мой URL-путь в router.get как часть SQL-запроса.Очень странно.У кого-нибудь есть идеи, как преодолеть эту проблему? </p>

studentRouter.get('/', (req, res) =>  {
   studentEntity.findAll({include : [predmetEntity]}).then(students =>{
       res.send(students)
   })



Executing (default): SELECT `student`.`id`, `student`.`ime`, `student`.`prezime`, `student`.`brIndexa`, `predmets`.`id` AS `predmets.id`, `predmets`.`naziv` AS `predmets.naziv`, `predmets`.`brKredita` AS `predmets.brKredita`, `predmets->polaze`.`ocjena` AS `predmets.polaze.ocjena`, `predmets->polaze`.`studentId` AS `predmets.polaze.studentId`,
`predmets->polaze`.`predmetId` AS `predmets.polaze.predmetId` FROM `students` AS `student` LEFT OUTER JOIN ( `polazes` AS `predmets->polaze` INNER JOIN `predmets` AS `predmets` ON `predmets`.`id` = `predmets->polaze`.`predmetId`) ON `student`.`id` = `predmets->polaze`.`studentId`;

studentRouter.get('/best', (req, res)=> {
    studentEntity.findAll().then(result => res.send(result))
})

Executing (default): SELECT `student`.`id`, `student`.`ime`, `student`.`prezime`, `student`.`brIndexa`, `predmets`.`id` AS `predmets.id`, `predmets`.`naziv` AS `predmets.naziv`, `predmets`.`brKredita` AS `predmets.brKredita`, `predmets->polaze`.`ocjena` AS `predmets.polaze.ocjena`, `predmets->polaze`.`studentId` AS `predmets.polaze.studentId`,
`predmets->polaze`.`predmetId` AS `predmets.polaze.predmetId` FROM `students` AS `student` LEFT OUTER JOIN ( `polazes` AS `predmets->polaze` INNER JOIN `predmets` AS `predmets` ON `predmets`.`id` = `predmets->polaze`.`predmetId`) ON `student`.`id` = `predmets->polaze`.`studentId` WHERE `student`.`id` = 'best';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...