В общем у меня уже крыша начинает кипеть от этого...
Есть БД, в ней вроде как три фотографии.
Имеем модель (специально вставляю весь код из файла, потому что больше всего подозрений на него):
// /models/photo.js
const Sequelize = require('sequelize');
const db = require('../config/database');
const Photo = db.define('photo', {
photo_id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
alt: {
type: Sequelize.STRING
},
description: {
type: Sequelize.STRING
},
image: {
type: Sequelize.STRING
},
},{
timestamps: false,
freezeTableName: true,
});
module.exports = Photo;
Роутер:
router.get('/photo', (req, res) => {
Photo.findAll()
.then(photos => {
console.log(photos.length); // выводит 3!
res.render('index', {
photos: photos
});
})
.catch((err) => console.log(`Error: ${err}`));
});
и сам шаблон рендера
each key in photos
p= key.image
В итоге имеем ошибку "TypeError: Cannot read property 'length' of undefined" в терминале. Данные вывелись, но из-за ошибки в терминале не происходит дальнейшего преобразования CSS и прочего (использую webpack-dev-middleware и webpack-hot-middleware).
Весь стаковерфлов перегуглил) у всех эта проблема возникала, если в модели тип данных указывали NUMBER, которого не существует, но у меня-то STRING и INTEGER, по документации!
Далее писали, мол pug не очень дружит с асинхронным рендерингом, но он же рендерит такое
| #{photos}
на экране выведет без ошибок
[object SequelizeInstance:photo],[object SequelizeInstance:photo],[object SequelizeInstance:photo]
В общем я уже не знаю, что и делать ребята....