Использование EntitySchemaQuery для построения запросов к базе данных
Добрый день! Помогите добавить в имеющийся запрос выборку top 1 (первую запись из результирующего набора).
Имеется данный запрос на странице карточки клиента:
var recordId = this.get("Id");
var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName: "Inspectors"
});
var filterGroup = new esq.createFilterGroup();
filterGroup.logicalOperation = Terrasoft.LogicalOperatorType.AND;
filterGroup.add("InspectorFilter1", esq.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL, "Account", recordId));
filterGroup.add("InspectorFilter2", esq.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL, "InspectorsType", SNClientConstants.InspectorTypes.InspectorCredit));
esq.addColumn("Inspector");
esq.getEntityCollection(function(result) {
if (result.success) {
var collection = result.collection;
collection.each(function(item) {
var inspector = item.get("Inspector");
if (inspector)
{
this.set("CreditInspectorCr", inspector);
}
}, this);
}
}, this);
Но он возвращает несколько записей, если таковые имеются в схеме, к которой обращаюсь. Мне же нужно получить только самую первую запись и самую "свежую" по дате создания. Подскажите, пожалуйста, как это условие добавить в выборку?
Нравится
Здравствуйте.
Вам нужно отсортировать записи по дате создания по убыванию и установить свойство rowCount = 1:
var esq = Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "Inspectors" }); var createdOnColumn = esq.addColumn("CreatedOn"); createdOnColumn.orderDirection = Terrasoft.OrderDirection.DESC; createdOnColumn.orderPosition = 0; esq.rowCount = 1;
Здравствуйте.
Вам нужно отсортировать записи по дате создания по убыванию и установить свойство rowCount = 1:
var esq = Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "Inspectors" }); var createdOnColumn = esq.addColumn("CreatedOn"); createdOnColumn.orderDirection = Terrasoft.OrderDirection.DESC; createdOnColumn.orderPosition = 0; esq.rowCount = 1;