يقوم filterMany for Play 2 بإرجاع جميع النتائج
-
13-12-2019 - |
سؤال
أنا أستخدم Play 2.0.2 مع ebean.
في Info
الطبقة، وأنا حددت
@ManyToMany(fetch=FetchType.EAGER)
private Set<MemberInfo> members;
private Date createdDate = new Date();
و MemberInfo
لديه memberId
مجال.
عندما أفعل
public static Finder<Long,Info> find
= new Finder<Long,Info>(Long.class, Info.class);
find.fetch("members")
.where().filterMany("members").eq("memberId", memberId)
.order().desc("createdDate")
.findList();
يعود كل شيء Info
, ، دون التحقق memberId
ل members
.
أي خطأ ارتكبت؟شكرًا.
المحلول
filterMany()
لا يقوم بتصفية النتائج الأصلية حسب تعبيرات الأطفال (كلاهما لهما "نطاقات" منفصلة).
كما هو موضح في واجهة برمجة التطبيقات الخاصة به سوف تجد الجميع Info
الكائنات وتصفيتها members
لكل.
هناك أيضًا موضوع مشابه جدًا مجموعات جوجل حيث يقدم مؤلف السؤال الحل الخاص به لذلك.
ادرس الفرق بين:
find.fetch("members")
.where().filterMany("members").eq("memberId", 1L)
.findList();
و
find.fetch("members")
.where().eq("members.memberId", 1L)
.findList();
لا تنتمي إلى StackOverflow