php - codeigniter 自动递增外键

标签 php mysql codeigniter insert auto-increment


在我的应用程序中,我有向 mysqldb 插入数据的功能,并且一条新闻有多个图像,在数据库中,我将新闻 id 作为上传表中的外键,所有插入都工作正常,但问题新闻 FK在上传表中,当我插入数据时,插入的第一行采用我设置的值,另一行采用自动增量,因此接下来您会找到代码:
上传表中插入的数据
upload table data

如您所见,正确的数据是 id 为 31 的行,另一个是自动递增
我由他插入的代码;
Controller

    public function insertNews() {
    $this->do_one_upload();
        $this->load->model('newsModel');
        $this->load->model('fileModel');
        $ad_ne_data = array(
                'titel' => $this->input->post('ad_news_title') ,
                'content' => $this->input->post('ad_news_content') ,
                'news_category_id' => $this->input->post('ad_news_category') ,
                'img_url' => $this->do_one_upload()[1]['full_path'],
                'created_at' => date("Y-m-d")
        );

        $this->newsModel->addNews($ad_ne_data);
        $i=0;
        while($i < count($this->do_one_upload())) {
            // var_dump($this->do_one_upload());
            $ad_imgs_news =array(
                'title' => $this->do_one_upload()[$i]['client_name'],
                'file_path' => $this->do_one_upload()[$i]['full_path'],
                'type' => $this->do_one_upload()[$i]['file_type'],
                'size' => $this->do_one_upload()[$i]['file_size'],
                'img_news_id' => $this->newsModel->getLastNewsId()
            );
             $i++;
            $this->fileModel->addUpload($ad_imgs_news);
            var_dump($ad_imgs_news);
        }
}


新闻模型
获取插入的最新新闻ID;

    public function getLastNewsId()
    {
      $last_id = $this->db->insert_id();
      return $last_id;
    }

上传模型中的上传插入方法

    public function addUpload($data)
    {
      // $this->db->set('name', $name);
      $this->db->insert('upload', $data);
    }


那么问题出在数据库或代码中还是???
谢谢,
问候

最佳答案

尝试返回

$last_id = $this->db->insert_id();

来自

$this->newsModel->addNews($ad_ne_data);

addNews 函数中查询后立即获取 insert_id。

关于php - codeigniter 自动递增外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37157288/

相关文章:

javascript - 使用angularjs在选择框中选择选项

php - Codeigniter MySQL 连接查询

mysql - 如何格式化 date_add

MySQL 查询在新服务器上花费太多时间

php - 在 Grocery 店 CRUD 中上传文件时检查文件格式

php - 如何提高 codeigniter 的性能

php crontab -l 从命令行显示不同的结果

php - 自动增量跳过数字?

javascript - TideSDK 使用 Ajax 调用 PHP 文件

php - 插入 mysql 数据库的成功/错误消息