以编程方式删除joomla用户及其数据的正确方法是什么?

我想通过ID从Joomla 3.x数据库中删除一组用户。我试图从文档中找出是否可行,而不必为每个数据库表编写自己的SQL。

类似于以下伪代码:

 delete from #_users where ( `lastvisitDate` < NOW() - INTERVAL 1 MONTH  ) AND ( #__user_usergroup_map.group_id = 18 );
 delete from #_user_usergroup_map where user_id not in (select id from #_users);
 delete from #_user_profiles where user_id not in (select id from #_users);

我对querybuilder熟悉,请参见:https://docs.joomla.org/Inserting,_Updating_and_Removing_data_using_JDatabase/en

但是,如果框架中已有删除用户详细信息的代码,那么我宁愿不重新发明轮子。

文档中的内容为:https://api.joomla.org/cms-3/classes/Joomla.CMS.User.User.html,但似乎没有参数传递给用户->删除?

我认为这是可以实现的,因为可以在管理员后端用户列表中打勾并删除多个用户。

我已经从Joomla开始工作了1.5年(从1.5开始),但实际上我一直在苦苦挣扎API文档。

任何帮助将不胜感激。

lxcgo 回答:以编程方式删除joomla用户及其数据的正确方法是什么?

该功能在com_users模型中

/administrator/components/com_users/models/user.php

您可以从这样的控制器中加载此模型:

$model = parent::getModel($name = 'User',$prefix = 'UsersModel',$config = array('ignore_request' => true));

然后

$model->delete($pks); 

其中$pks是要删除的用户ID的数组。

本文链接:https://www.f2er.com/3068281.html

大家都在问