thinkjs中修改默認主鍵

報錯信息:sql

{ Error: ER_BAD_FIELD_ERROR: Unknown column 'a_role.id' in 'field list'json

還原場景:async

a_role這張表沒有自增的id,主鍵爲roleid.若是在thinkjs的控制器中寫查詢這張表的數據sql時,就出現了這樣錯誤。this

解決方法:spa

修改後的代碼:3d

 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     }
相關文章
相關標籤/搜索