PHP CI框架底层MODEL生成器

<!-- 
    author:chen 
    date:  20210106-->
<?php defined('BASEPATH') or exit('No direct script access allowed');
class Generate extends SW_Controller
{
    //配置要生成的表
    public $table = 'sw_member';
    public function __construct()
    {
        parent::__construct();
        $this->load->database();
    }

    public function GetField()
    {
        $sql = "SHOW FULL COLUMNS FROM $this->table";
        return $this->db->query($sql)->result_array();
    }

    //获取对应表的字段名,生成Add方法
    public function Add()
    {
        $fieldArr = $this->GetField();

        echo 'public function Add($data)';
        echo '{';
        echo '</br>';
        echo '$sql = "INSERT INTO $this->table ';
        echo '(';
        $i = 0;
        foreach ($fieldArr as $val) {
            $i++;
            if ($i != 1) {
                echo "`" . $val['Field'] . "`";
                if ($i != count($fieldArr)) {
                    echo ',';
                }
            }
        }
        echo ')';
        echo '</br>';
        echo 'VALUES';
        echo '</br>';
        echo '(';
        $i = 0;
        foreach ($fieldArr as $val) {
            $i++;
            if ($i != 1) {
                echo  ":" . $val['Field'];
                if ($i != count($fieldArr)) {
                    echo ',';
                }
            }
        }
        echo ')";';
        echo '</br>';
        echo '$sql_array = array(';
        echo '</br>';
        $i = 0;
        foreach ($fieldArr as $val) {
            $i++;
            if ($i != 1) {
                echo "':" . $val['Field'] . "'=> \$data['" . $val['Field'] . "']";
                if ($i != count($fieldArr)) {
                    echo ',';
                }
                echo '</br>';
            }
        }
        echo ');';
        echo '</br>';
        echo '$sqlAction = $this->db->conn_id->prepare($sql);';
        echo '</br>';
        echo '$result =  $sqlAction->execute($sql_array);';
        echo '</br>';
        echo 'if (!$result) return 0;';
        echo '</br>';
        echo 'return $this->db->conn_id->lastInsertId();';
        echo '</br>';
        echo '}';
    }

    //获取对应表的字段名,生成Update方法
    public function Update()
    {
        $fieldArr = $this->GetField();

        echo 'public function Update($data)';
        echo '{';
        echo '</br>';
        echo '$sql_array = array();';
        echo '</br>';
        echo '$sql = "UPDATE $this->table SET ';
        echo '</br>';
        $i = 0;
        foreach ($fieldArr as $val) {
            $i++;
            if ($i != 1) {
                echo $val['Field'] . "=:" . $val['Field'];
                if ($i != count($fieldArr)) {
                    echo ',';
                }
            }
        }
        echo '</br>';
        echo ' WHERE ';
        echo  $fieldArr[0]['Field'] . '=:' . $fieldArr[0]['Field'] . '";';
        echo '</br>';
        echo '$sql_array = array(';
        echo '</br>';
        $i = 0;
        foreach ($fieldArr as $val) {
            $i++;
            if ($i != 1) {
                echo  "':" . $val['Field'] . "'=> \$data['" . $val['Field'] . "']";
                echo ',';
                echo '</br>';
            }
        }
        echo  "':" . $fieldArr[0]['Field'] . "'=> \$data['" . $fieldArr[0]['Field'] . "']";
        echo '</br>';
        echo ');';
        echo '</br>';
        echo '$sqlAction = $this->db->conn_id->prepare($sql);';
        echo '</br>';
        echo 'return $sqlAction->execute($sql_array);';
        echo '</br>';
        echo '}';
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值