thinkjs中修改默认主键
Posted 郑叶叶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkjs中修改默认主键相关的知识,希望对你有一定的参考价值。
报错信息:
{ Error: ER_BAD_FIELD_ERROR: Unknown column \'a_role.id\' in \'field list\'
还原场景:
a_role这张表没有自增的id,主键为roleid.如果在thinkjs的控制器中写查询这张表的数据sql时,就出现了这样错误。
解决方法:
修改后的代码:
1 async listAction() { 2 let getData = this.get(); 3 let role = this.model(\'a_role\'); 4 role._pk = \'roleid\'; 5 let whereobj = {};//状态:1:正常 ;-1:禁用 6 if (getData.roleid) {//角色ID 7 whereobj[\'roleid\'] = getData.roleid; 8 } 9 if (getData.rolename) {//角色名称 10 whereobj[\'rolename\'] = [\'like\', \'%\' + getData.rolename + \'%\']; 11 } 12 if (getData.state && getData.state != -99) { 13 whereobj.state = getData.state; 14 } 15 let result = await role.field(\'roleid,rolename,state\') 16 .where(whereobj) 17 .order("roleid asc") 18 .page(getData.pageNumber, getData.pageSize) 19 .countSelect(); 20 return this.json({ total: result.count, rows: result.data }); 21 }
以上是关于thinkjs中修改默认主键的主要内容,如果未能解决你的问题,请参考以下文章