thinkphp 模型操作
namespace app\model;
use think\Model;
use think\facade\Request;
class User extends Model
{
//设置表名,如果遵循命名规则,可不用设置
// protected $table= 'think_user';
//设置主键
protected $pk = 'uid';
// 设置当前模型的数据库连接
// protected $connection = 'mysql_two';
//设置表名,默认没有前后缀
// protected $name = 'users';
//废弃字段disuse
protected $disuse = ['add_time','add_ip','last_ip','last_time','delete_time'];
//允许写入的字段field
protected $field = ['nickname','phone','status','password'];
//设置字段信息
// protected $schema = [];
// 设置json类型字段
protected $json = ['info'];
//查询think_user表里的数据
public function getAllUser()
{
$result = User::select()->toArray();
return $result;
}
//查询think_user表里面uid=1的数据
public function getSignUser($id)
{
$result = User::where('uid','=',$id)->find();
$info = $result->getAttr('nickname');
// echo '我是usermodel里面的'.$info."<br>";
return $result;
}
//改变状态的返回类型get+字段名+Attr
public function getStatusAttr($status)
{
$array = [0=>'关闭',1=>'开启'];
return $array[$status];
}
//设置
public function setPasswordAttr($value)
{
return md5($value);
}
//查找并更新
public function myUpdate($id,$info)
{
//获取用户信息
// $user = $this->getSignUser($id);
// foreach($info as $key => $value)
// {
// $user->$key = $value;
// }
// if($user->save())
// {
// return '更新成功';
// }else{
// return '更新失败';
// }
//字段过滤
// $user = User::find($id);
// echo $user;
// if($user->allowField(['nickname','phone','status'])->save($info))
// {
// return '更新成功';
// }else{
// return '更新失败';
// }
}
//最佳用法是在传入模型数据之前就进行过滤
public function updateUser($id)
{
$user = User::find($id);
$data = Request::only(['nickname','phone','status']);
if($user->save($data))
{
return '更新成功'.json_encode($data);
}else{
return '更新失败'.json_encode($data);
}
}
//删除
public function deleteUser($id)
{
//删除当前模型
$user = User::find($id);
if($user->delete())
{
return '删除成功';
}else{
return '删除失败';
}
// 根据主键删除
// if(User::destroy(14))
// {
// return '删除成功'.json_encode(User::getlastSql());
// }else{
// return '删除失败'.json_encode(User::getlastSql());
// }
}
//查询
public function findUser()
{
// $user = User::where('nickname','钟老师')->find();
// return $user->getAttr('nickname');
//获取多个数据
// $list = User::where('status',1)
// ->limit(5)
// ->order('uid','desc')
// ->select();
// return $list;
//获取某个字段或者某个列的值
$user = User::where('status',1)
->column(['nickname,phone','uid']);
return $user;
}
}