Ничего не пойму, полез в pvalues и вижу такую картину.
Ощущение, что все создаваемые свойства не имеют своего имени в базе (property name).
Как так?
SQL
Модератор: immortal
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: SQL
Это поле необязательно должно быть заполненным сразу, т.к. используется только для быстрого доступа к значениям. Система сама его заполнинит по мере использования.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 968
- Зарегистрирован: Пт дек 06, 2013 11:30 am
- Откуда: Москва
- Благодарил (а): 71 раз
- Поблагодарили: 95 раз
Re: SQL
Если я SQL запрашиваю по значению sensorMovementSUM.status, например, он отдаст мне значения? Как он определит, что именно к нужному ID обращаюсь.
Это в продолжение темы http://smartliving.ru/forum/viewtopic.p ... 120#p13776
Это в продолжение темы http://smartliving.ru/forum/viewtopic.p ... 120#p13776
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: SQL
Нет, не отдаст. Точнее, может отдать, а может и не отдать -- в зависимости от того установлено ли полное имя переменной. Почему бы не подсмотреть как сделано в pChart?PAV писал(а):Если я SQL запрашиваю по значению sensorMovementSUM.status, например, он отдаст мне значения? Как он определит, что именно к нужному ID обращаюсь.
Это в продолжение темы http://smartliving.ru/forum/viewtopic.p ... 120#p13776
Вот пример вытягивания данных за последние 5 часов:
Код: Выделить всё
$p='sensorMovementSUM.status'
$end_time=time();
$total=5; // 5 часов
$start_time=$end_time-$total*60*60;
if ($p!='') {
if (preg_match('/(.+)\.(.+)/is', $p, $m)) {
$obj=getObject($m[1]);
$prop_id=$obj->getPropertyByName($m[2], $obj->class_id, $obj->id);
}
}
$pvalue=SQLSelectOne("SELECT * FROM pvalues WHERE PROPERTY_ID='".$prop_id."' AND OBJECT_ID='".$obj->id."'");
$history=SQLSelect("SELECT ID, VALUE, ADDED FROM phistory WHERE VALUE_ID='".$pvalue['ID']."' AND ADDED>=('".date('Y-m-d H:i:s', $start_time)."') AND ADDED<=('".date('Y-m-d H:i:s', $end_time)."') ORDER BY ADDED"); // данные
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 12
- Зарегистрирован: Вс июн 19, 2016 4:47 pm
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: SQL
Добрый день. Столкнулся с проблемой похожей как у автора первого сообщения.
Т.е. если я добавляю новое свойство объекта, то оно добавляется в БД без PROPERTY_NAME, хотя раньше такого не было.
Получается что не удобно делать выборку из БД.
Подскажите кто сталкивался с подобной проблемой
Т.е. если я добавляю новое свойство объекта, то оно добавляется в БД без PROPERTY_NAME, хотя раньше такого не было.
Получается что не удобно делать выборку из БД.
Подскажите кто сталкивался с подобной проблемой
- Вложения
-
- 11111.jpg (260.05 КБ) 3118 просмотров
-
- 2222.jpg (162 КБ) 3118 просмотров