更新链接列会导致 airtable 出错
Updating a linked column gives an error in airtable
我有一个 table 事件。事件 table 有一个名为与会者的链接列,它链接到与会者 table。这意味着与会者列包含与会者 ID 列表 table。您可以在图像中看到这一点。
我正在尝试使用以下使用 spring boot jpa 的代码更新该列。我这里用的userId是attendee中已有的Id table.
public Event registerUser(String eventId, String userId) {
Event event = (Event) this.getEventById(eventId).get();
List<String> list = event.getAttendees();
list.add(userId);
event.setAttendees(list);
return eventRepository.update(event);
}
public Event update(Event event) {
return this.table.update(event);
}
但它给出了以下错误
.Airtable异常:值不是记录 ID 数组。 (INVALID_VALUE_FOR_COLUMN) [HTTP 代码 422]
请帮忙。
只需将用户 ID 添加为
String userId
似乎不是正确的方法,因为它寻找 记录 ID 数组 。
我发现当您要更新时,您的原始 table 中不能有那么多来自链接 table 的列。例如,如果我们有 attendees_name、attendees_age 等与会者 table 的列,而不是活动 table 中的与会者列,则您无法更新 attendee_name 的链接列和 attendee_age。您只能为与会者列设置值。因此,您可以做的是从您的实体 class 中删除 attendeeName 和 attendeeAge 的属性。我将在使用 spring boot
时使用的实体 class 放在这里
@Data
@EqualsAndHashCode
@ToString
public class Event {
private String id;
private String activity;
private String type;
private String description;
private String image;
private String price;
private Date start;
private Date end;
private List<String> attendees;
//private List<String> attendeeNames;
//private List<String> attendeeAges;
private String level;
private List<String> days;
private String officeRndId;
private int seatCount;
}
我有一个 table 事件。事件 table 有一个名为与会者的链接列,它链接到与会者 table。这意味着与会者列包含与会者 ID 列表 table。您可以在图像中看到这一点。
我正在尝试使用以下使用 spring boot jpa 的代码更新该列。我这里用的userId是attendee中已有的Id table.
public Event registerUser(String eventId, String userId) {
Event event = (Event) this.getEventById(eventId).get();
List<String> list = event.getAttendees();
list.add(userId);
event.setAttendees(list);
return eventRepository.update(event);
}
public Event update(Event event) {
return this.table.update(event);
}
但它给出了以下错误
.Airtable异常:值不是记录 ID 数组。 (INVALID_VALUE_FOR_COLUMN) [HTTP 代码 422]
请帮忙。
只需将用户 ID 添加为
String userId
似乎不是正确的方法,因为它寻找 记录 ID 数组 。
我发现当您要更新时,您的原始 table 中不能有那么多来自链接 table 的列。例如,如果我们有 attendees_name、attendees_age 等与会者 table 的列,而不是活动 table 中的与会者列,则您无法更新 attendee_name 的链接列和 attendee_age。您只能为与会者列设置值。因此,您可以做的是从您的实体 class 中删除 attendeeName 和 attendeeAge 的属性。我将在使用 spring boot
时使用的实体 class 放在这里 @Data
@EqualsAndHashCode
@ToString
public class Event {
private String id;
private String activity;
private String type;
private String description;
private String image;
private String price;
private Date start;
private Date end;
private List<String> attendees;
//private List<String> attendeeNames;
//private List<String> attendeeAges;
private String level;
private List<String> days;
private String officeRndId;
private int seatCount;
}