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
I have a structure in may app where I have a parent object:
A child and another entity:
When trying to fetch
Contactspecifically byisUserproperty I get an error:Binary operator '==' cannot be applied to operands of type 'KeyPath<DBS.Contact, FieldContainer<DBS.BaseContact>.Stored<Bool>>' and 'Bool'Same thing with:
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