findPrimaryFieldInList function
Implementation
FieldElement? findPrimaryFieldInList(
OrmBuildContext ctx, Iterable<FieldElement> fields) {
for (var field_ in fields) {
var field = field_ is RelationFieldImpl ? field_.originalField : field_;
var element = _findElement(field);
// print(
// 'Searching in ${ctx.buildContext.originalClassName}=>${field?.name} (${field.runtimeType})');
// Check for column annotation...
var columnAnnotation = columnTypeChecker.firstAnnotationOf(element);
if (columnAnnotation != null) {
var column = reviveColumn(ConstantReader(columnAnnotation));
// print(
// ' * Found column on ${field.name} with indexType = ${column.indexType}');
// print(element.metadata);
if (column.indexType == IndexType.primaryKey) return field;
}
}
var specialId = fields.firstWhereOrNull((f) => isSpecialId(ctx, f));
// print(
// 'Special ID on ${ctx.buildContext.originalClassName} => ${specialId?.name}');
return specialId;
}