Привет!
Создаю обьект, все нормально создается, но не могу понять как задать поле description
Пробовал $obj->setProperty("description", "test"); как указано в http://majordomo.smartliving.ru/Main/Pr ... gFunctions при попытке считать сразу вроде все нормально, но при этом в админке ничего не меняется...
Что делаю не так? Так же есть вопрос как можно задать месторасположение из кода?
Создание обьекта класса с заполнением стандартных данных.
Модератор: immortal
- xor
- Сообщения: 2039
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Создание обьекта класса с заполнением стандартных данных
По ссылке, указанной в посте, указано
$obj-> description; Доступ к описанию объекта
$obj-> description; Доступ к описанию объекта
win10 connect https://connect.smartliving.ru/profile/303
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Создание обьекта класса с заполнением стандартных данных
Как вариант - можно напрямую в базу вставить...сразу с описанием...
Код: Выделить всё
$className = 'openweather';
$objectName = array('ow_city', 'ow_setting', 'ow_fact', 'ow_day0', 'ow_day1', 'ow_day2');
$objDescription = array('Местоположение', 'Настройки', 'Текущая температура', 'Прогноз погоды на день', 'Прогноз погоды на завтра', 'Прогноз погоды на послезавтра');
$rec = SQLSelectOne("SELECT ID FROM classes WHERE TITLE LIKE '" . DBSafe($className) . "'");
if (!$rec['ID'])
{
$rec = array();
$rec['TITLE'] = $className;
$rec['DESCRIPTION'] = 'Погода Open Weather Map';
$rec['ID'] = SQLInsert('classes', $rec);
}
for ($i = 0; $i < count($objectName); $i++)
{
$obj_rec = SQLSelectOne("SELECT ID FROM objects WHERE CLASS_ID='" . $rec['ID'] . "' AND TITLE LIKE '" . DBSafe($objectName[$i]) . "'");
if (!$obj_rec['ID'])
{
$obj_rec = array();
$obj_rec['CLASS_ID'] = $rec['ID'];
$obj_rec['TITLE'] = $objectName[$i];
$obj_rec['DESCRIPTION'] = $objDescription[$i];
$obj_rec['ID'] = SQLInsert('objects', $obj_rec);
}
}
- За это сообщение автора nick7zmail поблагодарили (всего 2):
- Kappa (Сб май 13, 2017 6:09 am) • Amarok (Сб май 13, 2017 7:46 am)
- Рейтинг: 2.33%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Re: Создание обьекта класса с заполнением стандартных данных
Я так понимаю это считать описание.xor писал(а):По ссылке, указанной в посте, указано
$obj-> description; Доступ к описанию объекта
Вот не хочется костылить прямым доступом, при обновлении что поменяется и что может случиться хз... Но если выбора не будет, хоть такое решение...nick7zmail писал(а):По ссылке, указанной в посте, указано
Как вариант - можно напрямую в базу вставить...сразу с описанием...
- xor
- Сообщения: 2039
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Создание обьекта класса с заполнением стандартных данных
У меня работает по описанию
лог
11:18 Алиса: Новое описание
11:17 Алиса: Новая комната
///////////////////////////
Упс! Выводит правильно, но в объекте не меняет.
Тогда, да - только в базу прямо писать.
а для расположения в таблицу objects пишется location_id, для этого нужно сначала в таблице locations его найти по имени.
Геморрой.
Код: Выделить всё
$obj=getObject('nl0');
$obj-> description="Новое описание";
say($obj-> description);
11:18 Алиса: Новое описание
11:17 Алиса: Новая комната
///////////////////////////
Упс! Выводит правильно, но в объекте не меняет.
Тогда, да - только в базу прямо писать.
а для расположения в таблицу objects пишется location_id, для этого нужно сначала в таблице locations его найти по имени.
Геморрой.
win10 connect https://connect.smartliving.ru/profile/303
Re: Создание обьекта класса с заполнением стандартных данных
Вот, вот... и меня та же проблема...
Найти-то обьект по имени не проблема, в любом случае там все через MQTT запрос идет, все данные есть... А писать в базу это костыли... Странно что стандартное присваивание не реализовано...
Хм... Или тупо бага?...
Найти-то обьект по имени не проблема, в любом случае там все через MQTT запрос идет, все данные есть... А писать в базу это костыли... Странно что стандартное присваивание не реализовано...
Хм... Или тупо бага?...