Подкажите пожалуйста, как в условии добавить isnull?
Или может поможете с решением задачи?
Необходимо выбрать N пользователей сайта, у которых значение доп.свойства такие же как у текущего пользователя. Если таких меньшее кол-во чем N, тогда нужно выбирать всех подряд.
Я решал так:
$oSiteuser = Core_Entity::factory('Siteuser')->getCurrent();
$oTmpSiteusers=$oSiteuser->Site->Siteusers;
$oTmpSiteusers->queryBuilder()
->select('siteusers.*')
->leftJoin('property_value_ints', 'property_value_ints.entity_id', '=', 'siteusers.id')
->where('siteusers.active', '=', 1)
->setAnd()
->open()
->where('property_value_ints.property_id', '=', '68')
->setOr()
->where('', 'isnull', 'property_value_ints.property_id')
->close()
->setAnd()
->open()
->where('property_value_ints.value', 'IN', $style_array)
->setOr()
->where('', 'isnull', 'property_value_ints.value')
->close()
->groupBy('siteusers.id')
->orderBy('property_value_ints.property_id=68','DESC')
->orderBy('property_value_ints.value','DESC')
->orderBy('siteusers.datetime','DESC')
->limit(8);
$oTmpSiteusers = $oSiteusersFollowers->findAll();
но оно ругаеться
The comparison operator 'ISNULL' doesn't allow