Exception:
If you use below code it will throw an error System.LimitException: Too many DML statements: 1 if you have any dml statement in your aura-method.
Workaround:
Please remove (cacheable=true) from your method declared above,then this will work without any error
If you use below code it will throw an error System.LimitException: Too many DML statements: 1 if you have any dml statement in your aura-method.
public with sharing class GetAllAccountsCntrl { @AuraEnabled(cacheable=true) public static List<Account> processAllAccounts() { List<Account> lstAcc = new List<Account>(); for(Account acc:[SELECT Id, Name,AccountSource,Website, Createddate FROM Account Limit 10]) { acc.Name = 'LWC Testing...'; lstAcc.add(acc); } Database.update(lstAcc,false); return lstAcc; } }
Please remove (cacheable=true) from your method declared above,then this will work without any error
public with sharing class GetAllAccountsCntrl { @AuraEnabled public static List<Account> processAllAccounts() { List<Account> lstAcc = new List<Account>(); for(Account acc:[SELECT Id, Name,AccountSource,Website, Createddate FROM Account Limit 10]) { acc.Name = 'LWC Testing...'; lstAcc.add(acc); } Database.update(lstAcc,false); return lstAcc; } }
Hope this helps you..Enjoy..!
refreshApex is not working if cacheable=true removed.
ReplyDelete