Sanırım hata, sıralı hale getirmede etkin zaman damgalarına sahip olmanızdır, ancak DB'deki gerçek tablo tanımlarınız bir zaman damgası sütunu içermiyor.
User.find'i yaptığınızda sadece işe yarar, bu da sadece sahip olduğunuz SELECT user.*
sütunları alır. Ancak katıldığınızda, birleştirilen tablonun her sütununa takma ad verilir ve bu da aşağıdaki sorguyu oluşturur:
SELECT `users`.*, `userDetails`.`userId` AS `userDetails.userId`,`userDetails`.`firstName` AS `userDetails.firstName`,`userDetails`.`lastName` AS `userDetails.lastName`, `userDetails`.`birthday` AS `userDetails.birthday`, `userDetails`.`id` AS `userDetails.id`, `userDetails`.`createdAt` AS `userDetails.createdAt`, `userDetails`.`updatedAt` AS `userDetails.updatedAt` FROM `users` LEFT OUTER JOIN `userDetails` AS `userDetails` ON `users`.`id` = `userDetails`.`userId`;
Düzeltme, userDetails modellerinden biri için zaman damgalarını devre dışı bırakmak olacaktır:
var userDetails = sequelize.define('userDetails', {
userId :Sequelize.INTEGER,
firstName : Sequelize.STRING,
lastName : Sequelize.STRING,
birthday : Sequelize.DATE
}, {
timestamps: false
});
veya tüm modeller için:
var sequelize = new Sequelize('sequelize_test', 'root', null, {
host: "127.0.0.1",
dialect: 'mysql',
define: {
timestamps: false
}
});