-
-
Notifications
You must be signed in to change notification settings - Fork 257
Open
Description
I have a structure in may app where I have a parent object:
open class BaseContact: CoreStoreObject {
@Field.Stored("externalId")
open var externalId: Int?
@Field.Stored("isUser")
open var isUser: Bool = false
// Other props
}A child and another entity:
final public class Contact: BaseContact {
// Other props
@Field.Relationship("userDL", inverse: \DBS.UserDL.$contact)
public var userDL: DBS.UserDL?
// Other props
}
final public class UserDL: CoreStoreObject {
// Other props
@Field.Relationship("contact")
public var contact: DBS.Contact?
// Other props
}When trying to fetch Contact specifically by isUser property I get an error:
func contactIsUser() -> DBS.Contact? {
try? fetchOne(where: \DBS.Contact.$isUser == true)
}Binary operator '==' cannot be applied to operands of type 'KeyPath<DBS.Contact, FieldContainer<DBS.BaseContact>.Stored<Bool>>' and 'Bool'
Same thing with:
func currentUserDL(withContactID externalId: Int?) -> DBS.UserDL? {
try? fetchOne(where: \.$contact ~ \.$externalId == externalId)
}There's a different error but in the same vein:
Operator function '~' requires the types 'Optional<DBS.Contact>.DestinationObjectType' (aka 'DBS.Contact') and 'FieldContainer<DBS.BaseContact>.Stored<Int?>.ObjectType' (aka 'DBS.BaseContact') be equivalent
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels