Не могу понять как писать в свойство типа "составное".
Пытаюсь записать с памощью setValue(), потом делаю коммит, но ничего.
$obj_parking_place->setValue(array(507 => '№ 8'));
$obj_parking_place->commit();
507 это id эллемента справочника, '№ 8' название.
По крайней мере getValue возвращает такой массив.
Как быть?
Не могу понять как писать в свойство типа "составное".
Пытаюсь записать с памощью setValue(), потом делаю коммит, но ничего.
$obj_parking_place->setValue(array(507 => '№ 8'));
$obj_parking_place->commit();
507 это id эллемента справочника, '№ 8' название.
По крайней мере getValue возвращает такой массив.
Как быть?
Попробуйте просто
$obj_parking_place->setValue507);
Разобрался, надо так:
$obj_parking_place->setValue( array(
'rel' => 507,
'float' => 0,
'int' => 1
));
Если надо использовать составное поле не стандартно, то можно еще так:
<?php
$page->setValue('myField', array(
'int' => 1, // bigint(20)
'varchar' => null, // varchar(255)
'rel' => null, // int(10)
'tree' => null, // int(10)
'float' => 0 // double
));
Важно у массива обязательно должно быть минимум два элемента с не нулевыми значениями.
Может на эту тему будет полезный материал:
- Значения по умолчанию для опций составного поля (http://wiki.umisoft.ru/%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%BE_%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E_%D0%B4%D0%BB%D1%8F_%D0%BE%D0%BF%D1%86%D0%B8%D0%B9_%D1%81%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8F)
- Выборки страниц - Поиск по свойствам типа optioned (http://wiki.umisoft.ru/Selector_-_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%BA%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85#.D0.9F.D0.BE.D0.B8.D1.81.D0.BA_.D0.BF.D0.BE_.D1.81.D0.B2.D0.BE.D0.B9.D1.81.D1.82.D0.B2.D0.B0.D0.BC_.D1.82.D0.B8.D0.BF.D0.B0_optioned)