Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
13Ori31
1 / 1 / 0
Регистрация: 11.03.2013
Сообщений: 43
1

core data, две сущности

19.07.2013, 11:18. Просмотров 749. Ответов 2
Метки нет (Все метки)

Привет.
Есть база, в ней две сущности, предположим «факультет» и «студент» между ними связь много к одному и обратно).
Требуется добавить студента, но чтобы не было потерянной записи нужно указать ему его факультет.
Делаю так: есть поля текстовые куда пользователь водит название факультета и имя студента. Потом нажимает на кнопку save…
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
-(void)save{
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    [fetchRequest setEntity:[NSEntityDescription entityForName:@"fac"
                                    inManagedObjectContext:self.managedObjectContext]];
    
    NSPredicate *predicate =[NSPredicate predicateWithFormat:@"name LIKE %@",
                                                                   [fac text]];
    
    [fetchRequest setPredicate:predicate];
    NSArray *arrayIntem = [NSMutableArray arrayWithArray:[self.managedObjectContext
                                                          executeFetchRequest:fetchRequest
                                                          error:nil] ];
    Stud *stud = [NSEntityDescription
                        insertNewObjectForEntityForName:@"stud"
                        inManagedObjectContext:self.managedObjectContext];
    
    if ([arrayIntem count]{
            [stud setName:[nameStud text]];
            [[arrayIntem objectAtIndex:0] addStudObject:stud];
            [[stud managedObjectContext] save:nil];
            [self dismissViewControllerAnimated:YES completion:nil];
    }
     else{
        //если новый факультет
     }
}
добавляется все корректно, но с одним условием факультет надо водить строго как он есть в базе если он не новый…
понимаю что обычно если нужно сравнение строк не зависящее от регистра нужно обе переводить в верхний или нижний регистр, а затем сравнить.
Получение существующего факультета делаю так:
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"name LIKE %@", [fac text]];
Поэтому перевести их оба в какой либо регистр не могу(не знаю как это сделать с полем name в сущности)
Возможно ли это?

Если нет то правильно ли будет реализовать это получив сперва массив факультетов без выборки, а затем сравнить элементы массива с требуемым факультетом с переводом регистра.?


спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2013, 11:18
Ответы с готовыми решениями:

Нужно разъяснение с Core Data
Всем привет! Толи я идиот тупой, толи с возрастом соображалка перестает...

Improve Core Data skills
Привет всем. Как-то так печально у меня складывался рабочий опыт, что с...

core data newManagedObject setValue:
Уважаемые форумчане! Возникла следующая проблема: создаю DataModel, добавляю...

Core Data проверка уникальности записи
Добрый вечер! Вливаюсь в CoreData потихоньку, почти все понятно, кроме вот...

Использование Core Data в статической библиотеке
Доброго времени суток. Прошу у вас помощи в разъяснение важного мне вопроса. ...

2
Venzo
125 / 123 / 16
Регистрация: 03.07.2011
Сообщений: 354
20.07.2013, 19:21 2
Можно вместо LIKE использовать MATCHES и передать регулярку, соответствующую факультету вне зависимости от регистра
Еще можно просто хранить все факультеты в одном регистре, а при выводе(если необходимо) форматировать как нужно.
1
13Ori31
1 / 1 / 0
Регистрация: 11.03.2013
Сообщений: 43
22.07.2013, 09:43  [ТС] 3
оказалось просто like[c] вместо like))
Objective-C
1
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"name like[c] %@", [fac text]];
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2013, 09:43

core data запрос на получение суммы атрибута, всех записей
Привет, есть сущность продукция имеющая свои атрибуты один из них цена, Есть н...

Муки выбора: core data или работа "напрямую" с sqlite
Здравствуйте! Я новичок в разработке под osx и ios, но так как база на сях и...

[Hibernate & Spring Data] Получить список объектов сущности из ManyToMany
Сущность User @Entity @Table(name = "users") public class User { @Id...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru