Разделы

  
 

[xPDO] Проверка пересечения интервалов

Доброго времени суток! Можете, пожалуйста, посоветовать как лучше сделать?
В базе хранятся промежутки временные и нужно при добавлении проверить нет ли пересечения этих промежутков между уже существующими записями и потенциально новой (для вставки не должно быть пересечения).


( Читать дальше )

[REVO] Пара фокусов с xPDO



В ходе одного исследования выяснил несколько интересных вещей про xPDO, о которых раньше не задумывался или некогда было проверить.

Решил немедленно поделиться.

Выборка 1000 ресурсов



$q = $modx->newQuery('modResource', array('id:>' => 0));
$q->limit(1000);

$q->prepare();
$q->stmt->execute();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($res as $v) {
	//echo $v['modResource_pagetitle'];
}


Этот код работает за 0.042197227478 и занимает 33.3 Mb памяти.


( Читать дальше )

[xPDO] Памятка-эксперимент по связям между объектами. Часть 3

Здравствуйте! Это небольшое исследование, возможно, будет полезно тем, кто в своей работе сталкивается с MODx REVO, пишет расширения для него или просто каким-либо образом использует свои таблицы при работе с ним.

Рано или поздно при работе с MODx появляется желание (а чаще необходимость) написать что-то, что расширяло бы его стандартный функционал. При этом случаются моменты, когда это наше «что-то» должно хранить свои данные в базе данных. В этот момент ты погружаешься в тайны мира xPDO значительно глубже, чем при разработке обычных сниппетов. Тут уже не достаточно одного только знания того, как получить объект или удалить его — появляются свои таблицы, схемы, связи, классы для работы с этим добром… Существует много уроков и примеров по работе со своими таблицами в MODx REVO. Я же хочу остановить ваше внимание на таком немаловажном аспекте, как установка связей в схемах xPDO и то, какой эффект это окажет на последующую работу вашей программы.


Осторожно! Многа букаф!


( Читать дальше )

[xPDO] Памятка-эксперимент по связям между объектами. Часть 2

Здравствуйте! Это небольшое исследование, возможно, будет полезно тем, кто в своей работе сталкивается с MODx REVO, пишет расширения для него или просто каким-либо образом использует свои таблицы при работе с ним.

Рано или поздно при работе с MODx появляется желание (а чаще необходимость) написать что-то, что расширяло бы его стандартный функционал. При этом случаются моменты, когда это наше «что-то» должно хранить свои данные в базе данных. В этот момент ты погружаешься в тайны мира xPDO значительно глубже, чем при разработке обычных сниппетов. Тут уже не достаточно одного только знания того, как получить объект или удалить его — появляются свои таблицы, схемы, связи, классы для работы с этим добром… Существует много уроков и примеров по работе со своими таблицами в MODx REVO. Я же хочу остановить ваше внимание на таком немаловажном аспекте, как установка связей в схемах xPDO и то, какой эффект это окажет на последующую работу вашей программы.


Осторожно! Многа букаф!


( Читать дальше )

[xPDO] Памятка-эксперимент по связям между объектами. Часть 1

Здравствуйте! Это небольшое исследование, возможно, будет полезно тем, кто в своей работе сталкивается с MODx REVO, пишет расширения для него или просто каким-либо образом использует свои таблицы при работе с ним.

Рано или поздно при работе с MODx появляется желание (а чаще необходимость) написать что-то, что расширяло бы его стандартный функционал. При этом случаются моменты, когда это наше «что-то» должно хранить свои данные в базе данных. В этот момент ты погружаешься в тайны мира xPDO значительно глубже, чем при разработке обычных сниппетов. Тут уже не достаточно одного только знания того, как получить объект или удалить его — появляются свои таблицы, схемы, связи, классы для работы с этим добром… Существует много уроков и примеров по работе со своими таблицами в MODx REVO. Я же хочу остановить ваше внимание на таком немаловажном аспекте, как установка связей в схемах xPDO и то, какой эффект это окажет на последующую работу вашей программы.


Осторожно! Многа букаф!


( Читать дальше )

[REVO] Ошибки xPDO

Не могу понять почему xPDO выкидывает ошибки.
К примеру вот в Тини гиперсылку создавал и вот что вывалило внизу окошка создания ссылки:

Fatal error: Class 'xPDOQuery' not found in /***/***/***/***/***/***/core/xpdo/om/xpdoquery.class.php on line 375me>

Catchable fatal error: Argument 1 passed to xPDOObject::load() must be an instance of xPDO, instance of modX given in /***/***/***/***/***/***/core/xpdo/om/xpdoobject.class.php on line 404

Ранее в конце установки двига тоже были xPDO ошибки о отказе в доступе.
В чем проблема?
  • 0
  • 29 апреля 2012, 03:17
  • aleXka
  • 2

[Revo] Обновить несколько строк в БД

Привет!

А не подскажите ли каким образом мне обновить несколько строк в БД одним запросом?

Что имею: комментарии на базе Quip и авторизованных пользователей, которые их пишут.

Quip как известно может работать как с авторизованными так и не авторизованными пользователями и для этого вместе с каждым комментарием хранит fullname, email, website пользователя, который его оставил.

И если пользователь пишет комментарий как Ваня, а потом переименовывается в Петю, то на сайте его старые комментарии будут под именем Ваня, а это вводит в заблуждение других пользователей.

В общем нужно запустить запрос:
UPDATE 
          `modx_quip_comments`
  SET 
          `name` = 'Петя', 
          `email`='email Пети', 
          `website`='сайт Пети'
  WHERE 
          `author`='id Пети/Вани'


Делать через getCollection и дальнейший save не хочется, может быть много комментариев, и будут проблемы со скоростью.

[xPDO] Как создать сразу много объектов?

Нужно создать сразу коллекцию объектов из 15-20-25-… объектов. В зависимости от отмеченных пунктов на странице.
В SQL для этого существует простой способ типа такого:
INSERT INTO table_name (chislo, chislotwo, name) VALUES (’159′,’34′,’name1′), (’14′,’61′,’name2′), (’356′,’8′,’name3′);

А как такое выкрутить с xPDO?
  • 0
  • 22 апреля 2012, 08:17
  • DWand
  • 17

MODx Revolution 2.2 поддержка репликаций в MySQL

Jason Coward — Главный архитектор MODX (Джейсон является автором xPDO и одним из учредителей MODx). Для многих разработчиков, станет задачей построение проекта с высоким трафиком и масштабируемостью. Раньше мы выкручивались кто как может. С выходом MODx Revolution 2.2 всё стало реальнее!


( Читать дальше )

[REVO] Вопрос по xPDO

Добавил в схему доп поле, оно прекрасно пишется в базу. Все хорошо, теперь проблема встала в том, что надо вытащить из базы значение этого поля.

( Читать дальше )