您现在的位置是:网站首页> 内容页

tp5 insertAll() 后 怎么获取他的 自增ID呢

  • 【王彬】
  • 2020-07-08
  • 63人已阅读
tp5   InsertAll  
简介tp5 insertAll() 后 怎么获取他的 自增ID呢



tp5 insertAll() 后  怎么获取他的 自增ID呢 


    封装方法如下:

$data = [
    ['uid' => '1', 'cid' => '1'],
    ['uid' => '2', 'cid' => '2'],
    ['uid' => '3', 'cid' => '3'],
    ['uid' => '4', 'cid' => '4'],
];
$test = Db::name('test')->insertAll($data);
$testres = Db::name('test')->getLastInsID();
$arr = array();
for ($i=0; $i<$test; $i++) {
    $arr[] = (int)$testres++;
}


实际项目代码:

public function CreateSaleInvoice(){
    $param = input('param.');
    $data=$param['data'];
    $insert=array();
   foreach ($data as $k=>$v){
       //校验data
       if(empty($v['id']) || empty($v['order_sn'])||empty($v['money'])||empty($v['pic'])){
           $this->ajax(400,"请检查:".$v['order_sn']."信息是否填写完整");
       }
       $ids[]=$v['id'];         //获取多有的原单idid信息
       $insert[$k]['iid']=$v['id'];
       $insert[$k]['order_sn']=$v['order_sn'];
       $insert[$k]['money']=$v['money'];
       $insert[$k]['pic']=$v['pic'];
       $insert[$k]['invoice_type']=$v['invoice_type'];
       $insert[$k]['create_time']=date("Y-m-d H:i:s",time());
   }
    $res=Db::name('invoice')->insertAll($insert);
    $ids= Db::name('invoice')->getLastInsID();
    $arr = array();
    for ($i=0; $i<$res; $i++) {
        $arr[] = (int)$ids++;
    }
    
}



获取第一个被插入的数据id 然后依次增加就行~

文章评论

Top