Elgg 和 Relationship_created_time_lower 的使用

Elgg and the utilization of Relationship_created_time_lower

我的 elgg 插件的完成遇到了一些问题,在解决了我的上一个问题后我遇到了另一个问题。显然我误用或误解了 Elgg

中 Created time lower 和 upper 函数的使用

使用以下代码:

    $monthSpan = (30 * 24 * 60 * 60);
$startTime = time() - $monthSpan;

$MemberDifference = elgg_get_entities_from_relationship(array(
    'relationship' => 'member', //get Members
    'relationship_guid' => $group->guid, //get individual guid for use
    'inverse_relationship' => true,
    'type' => 'user', //users are returned
    'limit' => 20,
    'joins' => array("JOIN {$db_prefix}users_entity u ON e.guid=u.guid"),
    'order_by' => 'u.name ASC',
    'relationship_created_time_lower' => $startTime, //the furthest back it will reach
    'relationship_created_time_upper' => time(), //possibly unneeded, but ensures the closest date is today
    'count' => true,
));

使用此功能,我将其构建在获取关联组中所有成员的方式上,理论上它现在应该获取在上个月注册到该组的所有成员。不幸的是,它反而继续抓住组中的每个成员,无论他们加入的时间如何。

有人知道我哪里出错了吗?

事实证明,我的 Elgg 版本太低了,否则整个代码块都可以运行。使用 Elgg 1.8,我需要使用以下代码:

        $MemberDifference = elgg_get_entities_from_relationship_count(array(
            'relationship' => 'member',
            'relationship_guid' => $Reports->guid,
            'inverse_relationship' => true,
            'type' => 'user',
            'limit' => 20,
            'count' => true,
            'joins' => array("JOIN {$db_prefix}users_entity u ON e.guid=u.guid"),
            'order_by' => 'u.name ASC',
            'wheres' => array('r.time_created >=' . $startTime)
        ));

这完美地工作,并带来了我正在寻找的东西。