Как вывести похожие группы в элементе ис?

#
Re: Как вывести похожие группы в элементе ис?
Все последний вопрос, больше я не потревожу))
$oProperty = Core_Entity::factory('Property', 88);
// Массив значений свойства 123 для информационного элемента $informationsystem_item_id
$aPropertyValues = $oProperty->getValues($Informationsystem_Controller_Show->group);
echo $aPropertyValues[0]->value;
Так я получаю значение этого доп свойства группы в которой я нахожусь, как дописать в сортировку эту чтобы еще и значение учитывала?
#
Re: Как вывести похожие группы в элементе ис?
Цитата:
как дописать в сортировку эту чтобы еще и значение учитывала

К сожалению не совсем понятно что вы имеете ввиду
«Не выходи из комнаты, не совершай ошибку…»
#
Re: Как вывести похожие группы в элементе ис?
У меня у каждой группы, есть доп. свойства с индификатором 88, вот чтобы сортировка эта была не только по индификатору 88, но и по значению, в группе в которой я сейчас нахожусь. Например значение <белый>, вот чтобы мне предложило, все группы с этим значением. Выше я указал, как я получаю значение в группе в которой я нахожусь.
#
Re: Как вывести похожие группы в элементе ис?
Так в примере выше и была сортировка по значениям свойства 88 у групп.
«Не выходи из комнаты, не совершай ошибку…»
#
Re: Как вывести похожие группы в элементе ис?
Она предлагает мне все группы с индификатором 88, не учитывая значения этого доп. свойства в группе в которой я нахожусь.
#
Re: Как вывести похожие группы в элементе ис?
if ( $Informationsystem_Controller_Show->group)
{
   // Текущая группа
   $oInformationsystem_Group = Core_Entity::factory('Informationsystem_Group', $Informationsystem_Controller_Show->group);

   // Родительская группа
   $oParent_Informationsystem_Group = $oInformationsystem_Group->getParent();
   // Родитель не корень
   if ($oParent_Informationsystem_Group)
   {
      // Подгруппы родительской группы
      $oSubgroups = $oParent_Informationsystem_Group->Informationsystem_Groups;
       $oProperty = Core_Entity::factory('Property', 88);
// Массив значений свойства 123 для информационного элемента $informationsystem_item_id
$aPropertyValues = $oProperty->getValues($Informationsystem_Controller_Show->group);
      $oSubgroups->queryBuilder()
            ->select('informationsystem_groups.*')
            ->leftJoin('property_value_strings', 'informationsystem_groups.id', '=', 'property_value_strings.entity_id',
       array(
          array('AND' => array('property_value_strings.property_id', '=', 88))
       )
     )
         // Исключаем текущую группу
         ->where('informationsystem_groups.id', '!=', $Informationsystem_Controller_Show->group)
            ->where('property_value_strings.value', '=', $aPropertyValues[0]->value)
         ->groupBy('informationsystem_groups.id')
         // Сортируем случайно
         ->clearOrderBy()
         ->orderBy('property_value_strings.value', 'DESC')
         // Две группы
         ->limit(4);

      $aSubgroups = $oSubgroups->findAll(FALSE);

      if (count($aSubgroups))
      {
         $oXmlSameGroups = Core::factory('Core_Xml_Entity')->name('sameGroups');
         $Informationsystem_Controller_Show->addEntity($oXmlSameGroups);

         foreach ($aSubgroups as $oSubgroup)
         {
            $oTmpGroup = clone $oSubgroup;
            $oTmpGroup
               ->clearEntities()
               ->clearEntitiesAfterGetXml(FALSE)
               ->id($oSubgroup->id)
               ->showXmlProperties(TRUE);

            $oXmlSameGroups->addEntity($oTmpGroup);
         }
      }
   }
}

так можно?
#
Re: Как вывести похожие группы в элементе ис?
Если получили желаемый результат то можно.
«Не выходи из комнаты, не совершай ошибку…»
#
Re: Как вывести похожие группы в элементе ис?
->where('property_value_strings.value', '=', $aPropertyValues[0]->value)
Как сделать, чтобы это условие в запросе срабатывало только когда $aPropertyValues[0]->value != null
Модератор
#
Re: Как вывести похожие группы в элементе ис?
->open()
   ->where('property_value_strings.value', '=', $aPropertyValues[0]->value)
   ->setOr()
   ->where('property_value_strings.value', 'IS', NULL)
->close()
Авторизация