報錯信息: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 }