先在mysql中创建一张用户表
CREATE TABLE `am8_user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
`email` varchar(100) DEFAULT NULL,
`status` int(10) DEFAULT NULL COMMENT '-1:''删除'',0:''禁用'',1:''正常'',2:''待审核''',
`score` float(5,2) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
`login_times` int(11) DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8
编写用户模型类
<?php
namespace app\mp_toutiao\model;
use think\Model;
class User extends Model {
public function getStatusTextAttr($value,$data)
{
$status = [-1=>'删除',0=>'禁用',1=>'正常',2=>'待审核'];
return $status[$data['status']];
}
}
编写控制器
<?php
namespace app\mp_toutiao\controller;
use app\mp_toutiao\model\User;
class Index {
public function getUserListForButton()
{
$list = User::filter(function($user) {
$user->status_text = '';
})->field('id,name,status')->select();
return mySuccessResponse($list);
}
public function getUserDetailForButton()
{
$list = User::where([
'id' => request()->param('id')
])->find();
return mySuccessResponse($list);
}
public function updateUserForButton()
{
User::update(['status' => request()->param('status')]
, ['id' => request()->param('id')]);
return mySuccessResponse();
}
public function deleteUserForButton()
{
User::destroy(request()->param('id'));
return mySuccessResponse();
}
}
其中getUserListForButton是获取用户列表方法,每个用户只获取id,name,status,status_text这4项。getUserDetailForButton是根据id获取该id所属用户的信息的方法。updateUserForButton是修改用户状态的方法。