我正在使用mysql和sails.js。当我想查询我使用的游戏的前10个人时:
Select name, totalwins/totalgames from user order by totalwins desc limit 10;
这在我的终端中显示如下内容(例如缩写为3):
+-----------------------+----------------------+
| name | totalwins/totalgames |
+-----------------------+----------------------+
| name 1 | 1.7917 |
| name 2 | 1.5417 |
| name 3 | 0.3333 |
+-----------------------+----------------------+
如果我还想将它打印到我的页面上,基本上可以创建一个更新刷新的记分板,我该怎么做呢?使用mysql有通用的方法吗?
答案 0 :(得分:0)
也许我可以假设你有一个风帆模型和控制器:User
和UserController
。 (如果没有,帆文档或项目内注释应该使这些容易创建)。然后,您可以通过将其添加到路径文件(/config/routes.js
)来设置要从UserController中的方法提供的页面:
'GET /mypage': 'UserController.displayPage',
然后在你的UserController(/api/controllers/UserController.js
):
module.exports = {
displayPage: function(req, res) {
User.find({}).sort('totalWins DESC').limit(10).exec(function(err, users) {
if (err) { /* handle errors */ }
// users has the objects you want in the order you specified
// send them to a view using res.view
return res.view('myview', {users: users});
});
},
// ...
}
这会将数据发送到/views/myview.ejs
的视图。这是一个可以模板化的(基本上)html页面,但是在其中你可以访问你的users
对象并使用标准的模板表示法。例如:
<% for (var idx = 0; idx < users.length; idx++) { %>
<tr>
<td><%= users[idx].name %></td>
</tr>
<% } %>
等
这是很多步骤,但没有一个是不可克服的!