0

Объект B (книга) имеет отношения «один ко многим» с сущностью D (описание). Идея состоит в том, что книга имеет разные описания для разных языков.Сортировка на основе одного из многих связанных объектов

Я хочу, чтобы отсортировать книги на основе их названий (D.title) для данного языка (D.languageID)

Если B был один-к-одному отношения к D, я хотел бы сделать что-то вроде:

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"d.title" ascending:YES]; 

Конечно, вы можете сказать, что модель не мешает книге иметь много описаний с одним и тем же языкомID. Но в этом случае любое (например, первое) описание было бы в порядке для меня.

Является ли моя модель неправильной? Какое лучшее решение сейчас?

ответ

0

Это логически невозможно. Если у вас много объектов B, принадлежащих A, которые B - это процедура сортировки, которую нужно взять?

Например, у вас есть объект A «Родитель» и объект B «Ребенок» и атрибут B «dateOfBirth». Вы не можете сортировать все родительские объекты в соответствии с самой низкой датой рождения, потому что, если у двух разных родителей есть двое детей каждый, возможно, что каждый из них имеет ребенка, который старше, чем один из других.

Очистить?

+0

Я знаю заранее, какой объект B должен использоваться. Итак, это мой вопрос, как я могу сортировать объекты родителя в соответствии с определенным дочерним объектом? – Gytis

+0

Я не вижу, что нелогично в отношении сортировки родителей в соответствии с самой низкой датой рождения любого из их детей. – Gytis

+0

Я вижу вашу точку зрения. Вы должны сначала определить младшего ребенка каждого родителя, а затем извлечь и отсортировать. Не уверен, как это сделать в одной простой выборке. С петлей это не слишком сложно. – Mundi