eggjs mysql 不等于_egg-mysql or ali-rds 能否实现“可有可无”的条件查询写法吗?

本文探讨了在使用 Egg.js 和 egg-mysql 插件进行数据库查询时,如何实现类似 PHP Yii 框架中'可有可无'的条件查询功能。通过分析现有代码,提出了在 Node.js 环境下处理动态查询条件的方法。
摘要由CSDN通过智能技术生成

Node Version:

Egg Version:

Plugin Name: egg-mysql

Plugin Version: ^1.0.0

Platform:

egg-mysql将where条件语句查询封装在对象里,

const type = this.query.type;

const page = this.query.page || 1;

const pageSize = this.query.pageSize || 10;

const pangufe = this.app.mysql.get('pangufe');

const results = yield pangufe.select('log', {

where: {type: type},

columns: ['type', 'ua', 'page', 'error_message', 'create_time'],

orders: [['create_time', 'desc'], ['id', 'desc']],

limit: pageSize,

offset: pageSize * (page - 1)

});

这样还能不能实现 某条件可有可无 的查询?

功能诸如PHP的Yii框架中,若有此条件,则加一个andWhere就好。

$find = LiveContent::find()->with('user');

if (!$this->getLiveUser(self::HOST_ID)) {

$this->addLiveUser(self::HOST_ID);

}

if (User::get('user_id') != self::HOST_ID) {

$find->andWhere(['=', 'status', LiveContent::STATUS_ACTIVE]);

}

if ($searchKey) {

$find->andWhere(['LIKE', 'content', $searchKey]);

}

if ($sort == 'old') {

if ($contentId) {

$find->andWhere(['

}

$find->orderBy('content_id DESC');

} elseif ($sort == 'new') {

if ($contentId) {

$find->andWhere(['>', 'content_id', $contentId]);

}

$find->orderBy('content_id ASC');

}

return $find;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值