zoukankan      html  css  js  c++  java
  • CI框架多个表前缀,如何使用框架语句querybuilder

      最近用CI框架遇到一个问题。2个前提条件:

      1、数据库设计不规范,有的有表前缀(如:ck_table1),有的没有(如:table2)或者表前缀不一样;

      2、数据库操作又想使用数据库操作语句querybuilder;

    当然,有的人会说,表都加上前缀,统一一下不就行了,我想说,如果你其他地方的代码怎么办,比如已经开发好的一个项目?再去改?累死你。。。 还有人说数据库操作使用原生的不就行了?不好意思,本人有一个强迫症,就想知道到底可不可以处理。只为解决问题提供方法。如果觉得受不了的话,请自行绕过。。。。

    解决办法:

    1、数据库默认表前缀为空,querybuilder时  表写全名;

    2、数据库默认表前缀不为空时,在querybuilder 之前重设  表前缀

      

    $this->db->set_dbprefix();
    
    $query = $this->db->limit(1)
                                ->get('table2');//  直接写表全名
    
    $res = $query ->result_array();
    $last_query = $this->db->last_query();
    var_dump($res);
    var_dump($last_query);
    
    $this->db->set_dbprefix("ck_");
    

     这里需要注意一下,执行完之后,一定要在重新把表前缀给改回来,否则会影响后续的查询。。。。

     

  • 相关阅读:
    Palindrome Linked List 解答
    Word Break II 解答
    Array vs Linked List
    Reverse Linked List II 解答
    Calculate Number Of Islands And Lakes 解答
    Sqrt(x) 解答
    Find Median from Data Stream 解答
    Majority Element II 解答
    Binary Search Tree DFS Template
    188. Best Time to Buy and Sell Stock IV
  • 原文地址:https://www.cnblogs.com/c-961900940/p/6077190.html
Copyright © 2011-2022 走看看