如何从顶点中的 ID 获取对象
How do I get a object from ID in apex
我有一个自定义对象 1(Lent_c 图书馆借出的书籍列表。它有 2 个 feilds 图书查找和人员查找)和 2 个查找字段,它有另一个自定义 object2(图书对象。它有3 feelds Quantity, 借用的 feelds 数量和 ISBN) 在查找的 feeld 中。我正在尝试使用 object1 更改 object2 中的值。这是我正在使用的代码。
trigger Book_lentout on Lent__c (before insert) {
for(Lent__c l:Trigger.new)
{
Book__c k = l.Book_Details__c;
k.Books_Borrowed__c++;
}
}
它给我一个错误错误:编译错误:第 4 行第 9 列
从 Id 到 Book__c 的非法分配
根据我的理解,它返回的 ID 而不是 Book__c 对象类型
对于上面的代码,无需为此代码编写代码 - 只需在 Book 对象上添加一个汇总字段,汇总借出的物品数量。
至于你的实际问题,只要你知道你正在寻找什么类型的对象,你上面的代码就是:
Book_c book = new Book__c(Id = l.Book_Details__c);
现在,您必须执行查询以获取借书的数量,以便您可以递增 1,因此您必须在收集所有 ID 后发出 soql 查询。所以这里是为了学习的完整解决方案。
在 Lent__c 上触发 Book_lentout(插入前){
Id[] bookIds = new List<Id>();
for(Lent__c lent : Trigger.new)
{
bookIds.add(l.Book_Details__c);
}
Book__c[] books = [select Books_Borrowed__c from Book__c where Id in :bookIds];
for (Book__c b : books) {
b.Books_Borrowed__c += 1;
}
}
这甚至还不完整,因为每本书可能有多个借出记录,但您明白了(我希望)。但同样,您真的应该通过汇总字段来执行此操作。
我有一个自定义对象 1(Lent_c 图书馆借出的书籍列表。它有 2 个 feilds 图书查找和人员查找)和 2 个查找字段,它有另一个自定义 object2(图书对象。它有3 feelds Quantity, 借用的 feelds 数量和 ISBN) 在查找的 feeld 中。我正在尝试使用 object1 更改 object2 中的值。这是我正在使用的代码。
trigger Book_lentout on Lent__c (before insert) {
for(Lent__c l:Trigger.new)
{
Book__c k = l.Book_Details__c;
k.Books_Borrowed__c++;
}
}
它给我一个错误错误:编译错误:第 4 行第 9 列
从 Id 到 Book__c 的非法分配根据我的理解,它返回的 ID 而不是 Book__c 对象类型
对于上面的代码,无需为此代码编写代码 - 只需在 Book 对象上添加一个汇总字段,汇总借出的物品数量。
至于你的实际问题,只要你知道你正在寻找什么类型的对象,你上面的代码就是: Book_c book = new Book__c(Id = l.Book_Details__c);
现在,您必须执行查询以获取借书的数量,以便您可以递增 1,因此您必须在收集所有 ID 后发出 soql 查询。所以这里是为了学习的完整解决方案。 在 Lent__c 上触发 Book_lentout(插入前){
Id[] bookIds = new List<Id>();
for(Lent__c lent : Trigger.new)
{
bookIds.add(l.Book_Details__c);
}
Book__c[] books = [select Books_Borrowed__c from Book__c where Id in :bookIds];
for (Book__c b : books) {
b.Books_Borrowed__c += 1;
}
}
这甚至还不完整,因为每本书可能有多个借出记录,但您明白了(我希望)。但同样,您真的应该通过汇总字段来执行此操作。