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)
));
这完美地工作,并带来了我正在寻找的东西。
我的 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)
));
这完美地工作,并带来了我正在寻找的东西。