【发布时间】:2012-10-18 11:42:43
【问题描述】:
我有扩展 ORM 的 Model_User,与角色有 $_has_many 关系:
protected $_has_many = array(
'roles' => array('model'=>'role','through'=>'users_roles'),
);
我有一个静态函数返回所有活跃用户:
public static function get_all_active_users()
{
return self::factory('user')->where('status', '=', 'active')->find_all();
}
我想根据以下 sql 更新函数以仅返回特定角色的用户:
SELECT `users`.* FROM `users`
INNER JOIN `users_roles` ON `users_roles`.`user_id` = `users`.`id`
INNER JOIN `roles` ON `roles`.`id` = `users_roles`.`role_id` AND `roles`.`identifier` = 'admin'
WHERE `users`.`status` = 'active'
有没有办法在 get_all_active_users 方法中过滤结果,或者我应该创建一个新方法并手动加入?
【问题讨论】: