我有扩展 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 方法中过滤结果,或者我应该创建一个新方法并手动加入?