• PHP的引用举例



     
    mongodb 是没有  id 自增的 
    也就是 插入第一条 
    id=1
    插入第二条  id=2
     

    我们写一个mongodb类
    具体代码我就不说了 我这里就简单的列举一下
    原型  $db->insert($data=array(),$options=array()){}

    然后我们插入 数据的时候是这样的 
    $db->insert(array("test"=>"测试")); //插入成功并没有id 
    我们封装一个 insert 类

    function insert(array $data,$options=[]){
            $this->before($data); //这里的befor 是引用$data
            return $this->db->insert($data,$options);
        }
    
     protected function before(&$data) {
                 $pk='id';
                if(!isset($data[$pk])) {
             
                    $data[$pk]   =  $this->id($pk);
                }
        }
    
       
    

    来看 before 的原型 (&$data)
    检测到 $data数组不存$data['id']
    $data['id']=id()//自增字段

    来看一下id的函数 ()
    protected function id($pk) {
           $result   =  $this->find(array(),array($pk=>1))->sort(array($pk=>-1))->limit(1); //查询字段id 
            $data = $result->getNext(); //获取下一条数据
            return isset($data[$pk])?$data[$pk]+1:1; //不存在id id默认1 存在+1
        }
    

    回到刚才的插入 $db->insert(array("test"=>"测试")); 
    因为再插入之前增加了一个引用函数before
    那么 数组就变成了 array("test"=>"测试","id"=>1) //存在就是id+1
  • 相关阅读:
    带着萌新看springboot源码
    学习springboot
    第一次来博客园
    第2章 排版样式
    第1章 Bootstrap介绍
    tab左右箭头切换
    $()下的常用方法2
    前端性能优化----yahoo前端性能团队总结的35条黄金定律
    tab
    $()下的常用方法
  • 原文地址:https://www.cnblogs.com/freespider/p/2811556.html
Copyright © 2020-2023  润新知