namespace Model;

use HY\Model;

class FriendModel extends Model {

//获取两者关系

public function get_state($uid1,$uid2){

$state = $this->find('*',array('AND'=>array('uid1'=>$uid1,'uid2'=>$uid2)));

return empty($state) ? false : $state['state'];

}

public function set_state($uid1,$uid2,$s){

return $this->update(array('state'=>$s),array('AND'=>array('uid1'=>$uid1,'uid2'=>$uid2)));

}

//添加关注关系

public function add_friend($uid1,$uid2){

if(!$this->has(array('AND'=>array('uid1'=>$uid1,'uid2'=>$uid2)))){ //$uid1 未关注 $uid2

if($this->has(array('AND'=>array('uid1'=>$uid2,'uid2'=>$uid1)))){ // $uid2 关注了 $uid1

if($this->get_state($uid2,$uid1)!= 0){

$this->set_state($uid2,$uid1,2);

return $this->insert(array('uid1'=>$uid1,'uid2'=>$uid2,'state'=>2));

}

return $this->insert(array('uid1'=>$uid1,'uid2'=>$uid2,'state'=>1));

}else{

return $this->insert(array('uid1'=>$uid1,'uid2'=>$uid2,'state'=>1));

}

}else{

$this->set_state($uid1,$uid2,1);

}

//已存在朋友关系

return false;

}

//删除朋友关系

public function rm_friend($uid1,$uid2){

if($this->has(array('AND'=>array('uid1'=>$uid1,'uid2'=>$uid2)))){ //$uid1 关注 $uid2

if($this->has(array('AND'=>array('uid1'=>$uid1,'uid2'=>$uid2)))){ // $uid2 关注了 $uid1

if($this->get_state($uid2,$uid1)!= 0)

$this->set_state($uid2,$uid1,1);

}

$this->delete(array('AND'=>array('uid1'=>$uid1,'uid2'=>$uid2)));

}

}

public function update_int($uid1,$uid2,$type="+",$size=1){

if($this->has(array('AND'=>array('uid1'=>$uid1,'uid2'=>$uid2)))){

if($type==="+")

return $this->update(array("c[{$type}]"=>$size,'atime'=>NOW_TIME),array('AND'=>array('uid1'=>$uid1,'uid2'=>$uid2)));

return $this->update(array("c[{$type}]"=>$size),array('AND'=>array('uid1'=>$uid1,'uid2'=>$uid2)));

}

$this->insert(array('uid1'=>$uid1,'uid2'=>$uid2,'c'=>1,'atime'=>NOW_TIME,'state'=>0));

//陌生人=1

}

public function get_c($uid1,$uid2){

if(!$this->has(array('AND'=>array('uid1'=>$uid1,'uid2'=>$uid2))))

return 0;

return $this->find('c',array('AND'=>array('uid1'=>$uid1,'uid2'=>$uid2)));

}

}

一键复制

编辑

Web IDE

原始数据

按行查看

历史

php friend_Model/Friend.php · 跳跳虎1986/cwj - Gitee.com相关推荐

  1. uploader.lib php,Lib/Upload.php · 跳跳虎1986/cwj - Gitee.com

    namespace Lib; class Local{ /** * 上传文件根目录 * @var string */ private $rootPath; /** * 本地上传错误信息 * @var ...

  2. 迪士尼机器人芭蕾舞_浅析迪士尼跳跳虎机器人

    神一样存在的迪士尼又出了新玩意.他们竟然做出了一台跳跳虎机器人,能够跳呀跳,跳呀跳,虽然目前只能跳19下,持续大约7秒钟的时间. 跳跳虎是如何实现跳跃的呢,文章主要从技术层面去剖析跳跳虎机器人的运动机 ...

  3. 迪士尼机器人芭蕾舞_迪士尼“跳跳虎”机器人来了!

    原标题:迪士尼"跳跳虎"机器人来了! 据小白了解,迪士尼实验室的科学家们,最近发明了一台机器人--"跳跳虎".该机器人之所以被称为"跳跳虎" ...

  4. 跳跳虎回家(国庆10.1模拟赛T2)

    题目: [题目描述] 跳跳虎在外面出去玩忘了时间,现在他需要在最短的时间内赶回家. 跳跳虎所在的世界可以抽象成一个含有 n 个点的图(点编号从 1 到 n ),跳跳虎现在在 1 号点,跳跳虎的家在 n ...

  5. 明日之后南希市服务器找不到,《明日之后》南希市遇到“跳跳虎”怎么办?只需两招,轻松制服!...

    明日之后游戏中有一个地方叫南希市,南希市争霸赛是整个游戏中相对来说比较均衡的PVP竞技玩法.在南希市争霸赛中各位玩家之间的战斗力差距不大,所以想要获胜,你需要有很好的枪法以及不错的走位. 枪法就不用多 ...

  6. 跳跳虎辅助免费体验版

    支持全部电脑系统.全部分辨率.卡密登录傻瓜式操作.百分百注入.有手就废.. https://tangehao.lanzous.com/iCesgojtzyb

  7. 2017.10.23解题报告

    预计分数:100+60+0=160 实际分数:100+80+0=180 T1 题目描述 现在有一个字符串,每个字母出现的次数均为偶数.接下来我们把第一次出现的字母a和第二次出现的a连一条线,第三次出现 ...

  8. Swif基本语法以及与OC比较三

         (未 经 博 主 同 意,不 得 转 载 !) ------------------------华丽分割线----------------------- 1 // 2 // main.swi ...

  9. 计算机教学研修心得英语,研修心得体会(通用10篇)

    研修心得体会(通用10篇) 我们在一些事情上受到启发后,常常可以将它们写成一篇心得体会,这样能够培养人思考的习惯.那么要如何写呢?以下是小编帮大家整理的研修心得体会(通用10篇),欢迎大家借鉴与参考, ...

最新文章

  1. 哲学家就餐 java_java模拟哲学家就餐问题
  2. shell脚本重启tomcat
  3. 2020-11-12(JNI开发常见错误)
  4. 查询当前oracle字符集,查询修改oracle当前字符集-转
  5. 启明云端分享|sigmastar debug工具使用说明(一)
  6. 【收集】常用的cmd命令
  7. [算法 笔记]2014年去哪儿网 开发笔试(续)第一题BUG修正
  8. lucene 多索引目录搜索实现方法
  9. java中生成pdf文件,java 中生成pdf 文件
  10. 【Guava】Google Guava本地高效缓存
  11. 给MongoDB添加索引
  12. img标签绝对位置定位,图片显示在签名之上。
  13. 那种片里的马赛克,终于可以一键去除了。
  14. 太拼了!张朝阳的一张作息表刷爆朋友圈
  15. 【探花交友】今日佳人
  16. Lisa随手记 1.7 帮助
  17. Matlab动态作图——animatedline函数
  18. winget 配置安装路径/卸载等指南
  19. 关于HTML语言img标签图像显示问题解决方法
  20. 操作系统 - Linux

热门文章

  1. python 基础知识(1)
  2. TensorFlow技术主管Peter Wardan:机器学习的未来是小而美
  3. 深圳内推 | 粤港澳大湾区数字经济研究院招聘计算机视觉算法工程师
  4. java虚拟机的CAS_Java虚拟机学习(二)
  5. oracle物料属性主要单位,Oracle EBS物料属性设定.doc
  6. 埃及通信和信息技术部使用 OpenText ECM 内容服务平台为电子政务转型奠定基础
  7. 【Java并发】double-checked-locking设计模式
  8. 常用颜色的十六进制和rgb格式
  9. ORA-02292_主表在有子表外键约束的情况,如何快速批量删除和插入数据?
  10. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第十二周题解(个人向仅供参考)