From d511fc77adfa628b04968d153e397425e3a93358 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sat, 15 Jan 2011 12:33:51 -0800 Subject: Tweake Joe's change to admin_users to revert the code that joins against the items table; it's not clear that this is going to be efficient for large data sets. --- modules/user/controllers/admin_users.php | 7 ++----- modules/user/views/admin_users.html.php | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) (limited to 'modules/user') diff --git a/modules/user/controllers/admin_users.php b/modules/user/controllers/admin_users.php index e11145de..8dbc4cbb 100644 --- a/modules/user/controllers/admin_users.php +++ b/modules/user/controllers/admin_users.php @@ -43,14 +43,11 @@ class Admin_Users_Controller extends Admin_Controller { url::redirect(url::merge(array("page" => $view->content->pager->total_pages))); } + // Join our users against the items table so that we can get a count of their items + // in the same query. $view->content->users = ORM::factory("user") - ->select(array("users.id", "users.admin", "users.name", "users.email", "users.full_name", - "users.last_login", "users.guest", db::expr("COUNT(items.id) as item_count"))) - ->join("items", "items.owner_id", "users.id", "LEFT") - ->group_by("users.id") ->order_by("users.name", "ASC") ->find_all($page_size, $view->content->pager->sql_offset); - $view->content->groups = ORM::factory("group")->order_by("name", "ASC")->find_all(); print $view; diff --git a/modules/user/views/admin_users.html.php b/modules/user/views/admin_users.html.php index 74b13ec5..a7bd6b27 100644 --- a/modules/user/views/admin_users.html.php +++ b/modules/user/views/admin_users.html.php @@ -88,7 +88,7 @@ last_login == 0) ? "" : gallery::date($user->last_login) ?> - item_count ?> + from("items")->where("owner_id", "=", $user->id)->count_records() ?> id") ?>" -- cgit v1.2.3