SOURCE

// let sql = 'SELECT * FROM `order` AS o';

// `WHERE o.status = ${status}`
// `AND o.goods_title LIKE CONCAT('%${name}%')`

const query = {
    name: 'das',
    age: 22,
    status: '2'
}

const concat = ['name', 'status'];

const ss = []
for (const key in query) {
    if (concat.includes(key)) {
        ss.push({
            [key]: key,
            type: 'concat'
        })
        return
    }
    ss.push({
        [key]: key,
    })
}

console.log(ss)

// const params = [
//     {
//         key: 'goods_title',
//         type: 'count'
//     },
//     {
//         key: 'status',
//         type: 'n'
//     },
//     {
//         key: 'age',
//         type: 'n'
//     },
// ]

// function splitSqlWhere(params, alias) {
//     let sql = ``
//     params.forEach((v, i) => {
//         if (i === 0) {
//             if (v.type === 'n') {
//                 sql += `WHERE ${alias}.${v.key} = ? \n`
//             } else {
//                 sql += `WHERE ${alias}.${v.key} LIKE CONCAT('%?%') \n`
//             }
//         } else {
//             if (v.type === 'n') {
//                 sql += `AND ${alias}.${v.key} = ? \n`
//             } else {
//                 sql += `AND ${alias}.${v.key} LIKE CONCAT('%?%') \n`
//             }
//         }
//     })

//     console.log(sql)
// }

// splitWhere(params, 'o')
console 命令行工具 X clear

                    
>
console