Користувальницькькі налаштування

Налаштування сайту


nyanorm

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
Наступна ревізія По сторонах наступні версії
nyanorm [2023/06/16 13:26]
nightfly [Кумулятивная структура data()]
nyanorm [2023/06/16 13:31]
nightfly [О исключениях]
Рядок 161: Рядок 161:
 </code> </code>
  
-===== Создание и изменение записей =====+===== Створення та зміна записів =====
  
-Помните кумулятивную структуру **data()**?  Она нам потребуется для создания записей в модели либо изменения существующих. Давайте создадим новую запись приблизительно для такой таблички:+Пам'ятаєте кумулятивну структуру **data()**?  Вона нам знадобиться для створення записів у моделі або зміни наявних. Давайте створимо новий запис приблизно для такої таблички:
  
 <code sql> <code sql>
Рядок 174: Рядок 174:
 </code> </code>
  
-Все очень прямолинейно.+Усе дуже прямолінійно.
  
 <code php> <code php>
 $object = new nya_someobjects(); $object = new nya_someobjects();
-$object->data('name', 'а это типа имя'); +$object->data('name', 'а це типу ім`я'); 
-$object->data('text', 'это типа текст записи');+$object->data('text', 'а це якби текст запису');
 $object->create(); $object->create();
 </code> </code>
  
-Заметьте, мы не указывали ручками NULL для автоинкрементного поля id, как так? А так, что у метода **create()** по умолчанию установлен параметр $autoAiId=true делающий это неявно. Если в вашей табличке нету автоинкрементного поля `id` или другого подобного primary key, вы должны установить этот параметр в false. Собственно имя поля главного ключа таблички вы всегда можете переназначить при помощи наследования. Он содержится в протектед проперти **defaultPk**.  +Зауважте, ми не вказували ручками NULL для автоінкрементного поля id, як так? А так, що у методу **create()** за замовчуванням встановлений параметр $autoAiId=true, який робить це неявно. Якщо у вашій табличці немає автоінкрементного поля `id` або іншого подібного primary key, ви маєте встановити цей параметр у false. Власне ім'я поля головного ключа таблички ви завжди можете перепризначити за допомогою наслідування. Він міститься в протектед проперті **defaultPk**.  
 \\ \\
 \\ \\
-Окей, запись создать мы создали, а как получить ее id? Для этого есть удобный метод **getLastId()** получающий последний **defaultPk** из таблички. +Окей, запис створити ми створили, а як отримати його id? Для цього є зручний метод **getLastId()**, який отримує останній **defaultPk** з таблички. 
-Вот как это работает:+Ось як це працює: 
 <code php> <code php>
-deb($object->getLastId()); // ой... возвращает 15+deb($object->getLastId()); // ой... повертає 15
 </code> </code>
  
-Окей, допустим мы внезапно захотели теперь изменить все или какое-то из полей в этой табличкекак бытьВсе точно так-же как и с **create()** только при помощи **save()** но теперь нам еще понадобиться **where()**. Допустим мы будем редактировать последнюю запись в этой табличке:+Окей, припустимо, ми раптово захотіли тепер змінити всі або якесь конкретне із полів у цій табличціяк бутиУсе точно так само, як і з **create()** тільки за допомогою **save()**, але тепер нам ще знадобитися **where()**. Припустимо ми будемо редагувати останній запис у цій табличці: 
 <code php> <code php>
 $idToModify=$object->getLastId(); $idToModify=$object->getLastId();
-$object->data('text', 'воуэто же новое значение для text!');+$object->data('text',гоце ж нове значення для text!');
 $object->where('id', '=', $idToModify); $object->where('id', '=', $idToModify);
 $object->save(); $object->save();
Рядок 201: Рядок 203:
  
  
-===== Включение режима отладки ===== +===== Увімкнення режиму відлагодження ===== 
-Мы знаем. Вы привыкли использовать для отладки ваших модулей всякие print_r/debarr. Все, отвыкаем. Теперь можно легко и непринужденно включить режим отладки или глубокой отладки и получить нормальный лог и вывод всего происходящего с моделью.+ 
 +Ми знаємо. Ви звикли використовувати для налагодження ваших модулів усілякі print_r/debarr. Усе, відвикаємо. Тепер можна легко і невимушено увімкнути режим налагодження або глибокого налагодження і отримати нормальний лог і виведення всьогощо відбувається з моделлю.
  
 <code php> <code php>
Рядок 208: Рядок 211:
 </code> </code>
  
-Все, теперь все запросы к БД будут выводиться прямо в ваш умолчательный вью, а также записываться вместе с временем в лог, который вы сможете смотреть реалтайм методом+Усе, тепер усі запити до БД виводитимуться прямо у ваш стандартний в'ю, а також записуватимуться разом із часом у дебаг-лог, який ви зможете дивитися реалтайм методом
  
 <code bash> <code bash>
Рядок 214: Рядок 217:
 </code> </code>
  
-Также вам может захотеться врубить режим глубокой отладки. Тогда в этот же лог, будет дампиться также состояние всей модели целиком на каждый чих. Делается это так:+Також вам може захотітися врубити режим глибокого відлагодження. Тоді в цей же лог, буде дампитися також стан всієї моделі цілком на кожен пчих. Робиться це так:
 <code php> <code php>
 $model->setDebug(true,true); $model->setDebug(true,true);
 </code> </code>
  
-===== О исключениях ===== +===== Про виключення ===== 
-Если вы совсем обнаглеете от вседозволенности NyanORM вам в лицо могут быть выброшены следующие исключения: + 
-  * **MEOW_WHERE_STRUCT_EMPTY** - кумулятивная структура where пуста. А она нужна. Очень+Якщо ви зовсім знахабнієте від вседозволеності NyanORM вам в обличчя можуть бути викинуті такі винятки: 
-  * **MEOW_DATA_STRUCT_EMPTY** - кумулятивная структура data пустаИ она тоже кому-то очень нужна. + 
-  * **MEOW_JOIN_WRONG_TYPE** - неверный тип JOIN. Допустимы только INNER, LEFT, RIGHT. +  * **MEOW_WHERE_STRUCT_EMPTY** - кумулятивна структура where порожня. А вона потрібна. Дуже. 
-  * **MEOW_NO_FIELD_NAME** - не установлено обязательное имя поля.+  * **MEOW_DATA_STRUCT_EMPTY** - кумулятивна структура data порожняІ вона теж комусь дуже потрібна. 
 +  * **MEOW_JOIN_WRONG_TYPE** - неправильний тип JOIN. Допустимі тільки INNER, LEFT, RIGHT. 
 +  * **MEOW_NO_FIELD_NAME** - не встановлено обов'язкове ім'я поля.
  
 ===== Принципиальная схема ===== ===== Принципиальная схема =====
nyanorm.txt · Востаннє змінено: 2023/06/16 13:46 повз nightfly