Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

findAll () từ Sequelize không nhận được

Sequelize đang trả về một mảng instance đối tượng trong người dùng. Một instance đối tượng có một số phương thức tiện lợi được đính kèm cho phép bạn thực hiện trên nó.

Nếu bạn chỉ muốn lấy dữ liệu với các trường của mình dưới dạng khóa, hãy sử dụng get({plain: true}) . Ví dụ:đối với đối tượng đầu tiên trong mảng users[0].get({plain: true}) . Nếu bạn muốn tiếp tục sử dụng các phiên bản, bạn chỉ có thể sử dụng get với tên trường của bạn. Ví dụ:users[0].get('nombre') .

Bạn cũng có thể truy cập các thuộc tính trực tiếp trên đối tượng, ngay cả khi chúng không được ghi lại, chẳng hạn như users[0].nombre .

Chỉnh sửa

Điều này không liên quan đến câu hỏi ban đầu, nhưng nhận xét của bạn về một câu trả lời khác. Đảm bảo rằng bạn đang làm mọi thứ không đồng bộ. Mã phải là:

usuarioService.getAll = function (cb) {
    Usuario.findAll().then(function (users) {
        return cb(null, users);
    }).catch(function(err) {
        return cb(err);
    });
}

Sau đó, khi gọi phương thức này, bạn sẽ làm như sau:

router.get('your_path', function(req, res, next) {
    serv.getAll(function(err, users) {
        if (err) {
            // your err handling code
        }
        // users is now a valid js array
        // could send it in res.json(users)
    });
});

hoặc

Vì Sequelize sử dụng các lời hứa, nên thực hiện điều này bằng các lời hứa sẽ là cách tốt nhất.

usuarioService.getAll = function () {
    return Usuario.findAll({ raw: true });
}

Sau đó, khi gọi phương thức này, bạn sẽ làm như sau:

router.get('your_path', function(req, res, next) {
    serv.getAll().then(function(users) {
        res.render('usuarios/index',{
            users: users
        })
    }).catch(function(err) {
        // your error handling code here
    });
});


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết nối MySQL bị mất:lỗi hệ thống:110

  2. innodb_lock_wait_timeout tăng thời gian chờ

  3. Sử dụng PHP để tải hình ảnh lên một thư mục trong khi lưu mô tả vào cơ sở dữ liệu

  4. MySQL hoặc PHP Chuyển đổi hàng thành cột

  5. trong khi ($ row =mysql_fetch_array ($ query)) không hoạt động ở lần thứ hai