我有一个带有 url
列的 MySQL 表,我想获取表中每个 url
值的列表。结构:
在使用 Laravel 的 PHP 中,我可以执行类似的操作来获取每个 url
列值的数组:
$boards = Board::all()->lists('url');
但是,我不知道如何使用 Sails JS 来做到这一点。我注意到不带任何参数的 find() 会获取数据库中的每一行,但我在文档中找不到任何可以让我获取 url
列的值列表的内容或迭代返回的集合的方法。
我已经尝试过这个:
var boards = Board.find().exec(function(error, _boards) {
if(error)
{
return response.negotiate(error);
}
return _boards;
});
但是,我实际上似乎无法迭代返回的数据。
有什么想法吗?
编辑:
完整的HomepageController.js:
module.exports = {
index: function (request, response) {
var data = {
currentDate: (new Date()).toString(),
boards: Board.query('SELECT url FROM board', function (error, results) {
if (error) {
return response.negotiate(error);
}
return results;
})
};
return response.view('homepage', data);
}
};
编辑:工作代码:
module.exports = {
index: function (request, response) {
Board.query('SELECT url FROM board', function(error, results) {
if(error)
{
return response.negotiate(error);
}
return response.view('homepage', { currentDate: (new Date()).toString(), boards: results });
});
}
};
最佳答案
您可以使用原始 .query()
选择单个列:
Board.query('SELECT url FROM board', function (err, results) { ... });
但是,请记住,您的数据仍将如下所示:
[{url: 'row 1 value'}, {url: 'row 2 value'}, ...]
关于javascript - 如何从 Sails JS Waterline 集合中获取指定字段的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38384229/