gpt4 book ai didi

bookshelf.js - 如何在 Bookshelf.js 中进行原始查询

转载 作者:行者123 更新时间:2023-12-04 10:18:16 25 4
gpt4 key购买 nike

我想实现这一目标

SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;

来自 https://developers.google.com/maps/articles/phpsqlsearch_v3?hl=fr#createtable

如何使用 Bookshelf 进行此查询。

我现在有这个:
var raw = '( 3959 * acos( cos( radians(37) ) * cos( radians( '+ req.params.lat + ' ) ) * cos( radians( '+req.params.lng+' ) - radians(-122) ) + sin( radians(37) ) * sin( radians( '+req.body.lng+' ) ) ) ) AS distance';


new Places().query(function(qb) {
qb.where('lat',req.params.lat);
qb.where('lng',req.params.lng);
qb.column(raw);
qb.having('distance', '>', 25);
}).fetch({ debug: false }).then(function(collection) {
console.log(collection);

if (collection === undefined) {
// no such result
res.json(404,{error: "No Places found."});
} else {
// found, list json
res.json(200, collection);
}
});

最佳答案

我发现这有效..没有qb。需要的实例/引用:

var Bookshelf = require('bookshelf').mysqlAuth;

var rawSql = 'SELECT .. <etc>';

Bookshelf.knex.raw(rawSql).then(..);

关于bookshelf.js - 如何在 Bookshelf.js 中进行原始查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23952960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com