gpt4 book ai didi

javascript - 在书架 js 对象中使用 orWhere

转载 作者:搜寻专家 更新时间:2023-11-01 00:40:59 24 4
gpt4 key购买 nike

我已经使用 bookshelf js 构建了一个查询。当我在查询中使用 orWhere 时出现错误

Object has no method 'orWhere'.

下面是我的代码

var filters = {};

// Restaurnat id is must
if (restaurant_id != undefined) {
filters.restaurant_id = restaurant_id
} else {
res.json({
status: 422,
message: "No restaurant id provided",
data: ""
});
}

var query = dp.CusOrder.query('where', filters);

if (customer_name != undefined) {
var first_name = '%' + customer_name + '%';

query.where('first_name', 'LIKE', first_name)
.orWhere('last_name', 'LIKE', first_name);
}

query.fetchAll()
.then(function(result) {
res.json({
data: result
});
});

最佳答案

您需要使用 bookshelf 附带的 knex 查询构建器来执行此操作,因为 orWhere 是一个 knex 函数(bookshelf 使用 knex 进行数据库访问)。

一个简单的例子如下,假设 dp.CusOrder 是一个伪造的模型

dp.CusOrder.query(function(qb) {

qb.where(filters);

if (customer_name != undefined) {
var first_name = '%' + customer_name + '%';
qb.where('first_name', 'LIKE', first_name)
.orWhere('last_name', 'LIKE', first_name);
}
})
.then(function(result) {
res.json({data: result})
});

您可能需要摆弄 andWhere 和 orWhere 以获得正确的查询,或者您可以只使用 whereRaw,因为您的查询相对较小

关于javascript - 在书架 js 对象中使用 orWhere,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34610473/

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