Страница 1 из 1
Создание обьекта класса с заполнением стандартных данных.
Добавлено: Пт май 12, 2017 9:53 am
Kappa
Привет!
Создаю обьект, все нормально создается, но не могу понять как задать поле description
Пробовал $obj->setProperty("description", "test"); как указано в
http://majordomo.smartliving.ru/Main/Pr ... gFunctions при попытке считать сразу вроде все нормально, но при этом в админке ничего не меняется...
Что делаю не так? Так же есть вопрос как можно задать месторасположение из кода?
Re: Создание обьекта класса с заполнением стандартных данных
Добавлено: Пт май 12, 2017 11:44 pm
xor
По ссылке, указанной в посте, указано
$obj-> description; Доступ к описанию объекта
Re: Создание обьекта класса с заполнением стандартных данных
Добавлено: Сб май 13, 2017 2:33 am
nick7zmail
Как вариант - можно напрямую в базу вставить...сразу с описанием...
Код: Выделить всё
$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);
}
}
Re: Создание обьекта класса с заполнением стандартных данных
Добавлено: Сб май 13, 2017 6:09 am
Kappa
xor писал(а):По ссылке, указанной в посте, указано
$obj-> description; Доступ к описанию объекта
Я так понимаю это считать описание.
nick7zmail писал(а):По ссылке, указанной в посте, указано
Как вариант - можно напрямую в базу вставить...сразу с описанием...
Вот не хочется костылить прямым доступом, при обновлении что поменяется и что может случиться хз... Но если выбора не будет, хоть такое решение...
Re: Создание обьекта класса с заполнением стандартных данных
Добавлено: Сб май 13, 2017 11:20 am
xor
У меня работает по описанию
Код: Выделить всё
$obj=getObject('nl0');
$obj-> description="Новое описание";
say($obj-> description);
лог
11:18 Алиса: Новое описание
11:17 Алиса: Новая комната
///////////////////////////
Упс! Выводит правильно, но в объекте не меняет.
Тогда, да - только в базу прямо писать.
а для расположения в таблицу objects пишется location_id, для этого нужно сначала в таблице locations его найти по имени.
Геморрой.
Re: Создание обьекта класса с заполнением стандартных данных
Добавлено: Вс май 14, 2017 1:25 am
Kappa
Вот, вот... и меня та же проблема...
Найти-то обьект по имени не проблема, в любом случае там все через MQTT запрос идет, все данные есть... А писать в базу это костыли... Странно что стандартное присваивание не реализовано...
Хм... Или тупо бага?...