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中修改默认主键的主要内容,如果未能解决你的问题,请参考以下文章

(原)thinkjs使用腾讯云https证书

(原)thinkjs使用腾讯云https证书

ThinkJS 模块

ThinkJS 2.1:支持 TypeScript,性能提升 90%

mybatis.xml中sql编写规范

thinkjs2.x 配置 art-template 模板引擎